我一直在搜索Google,但没有找到成功的答案。我在Ubuntu上运行服务器,并且安装了使用各种非标准端口的程序。每个服务器使用不同的端口,在我的情况下分别是9090、9091、9092、9093和9094。我设置了一个apache服务器,并拥有一个域名,该域名现在可以访问我的服务器,而不必键入我的IP地址。我正在寻找一种创建目录的方法,该目录可以指向我列出的不同端口。我想要类似的东西:
https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3
有些端口通过SSL传输,有些则不是,我只是按顺序整理(9090-9094),以便于我方便使用。我想将/ app1指向SSL端口9090,将/ app2指向SSL端口9091,将/ app3指向非SSL端口9092。是否有一种简单的方法?我已经尝试根据其他帖子添加ProxyPass之类的东西,但是没有任何效果。我需要添加一个新站点吗?
另外,如果这涉及到编辑文件(我希望这样做),那么如果您可以列出文件的默认位置以及在何处添加内容,将不胜感激。我一直看到有人说要添加ProxyPass,所以我只是假设它在VirtualHost内,但是我不确定。基本上,我对Web服务器设置知之甚少,因此需要这样对待。
对于不正确的标签,我们深表歉意,感谢您花时间阅读该帖子以及您可以提供的任何帮助。
编辑:为澄清起见,应用程序已经可以通过https://www.mydomain.com:9090
等访问。我只想使用一种方法来https://www.mydomain.com/appName
访问这些应用程序发布的相同位置/页面。
编辑2:从/ etc / apache2 / sites-available / default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /app1 https://localhost:9090/
ProxyPassReverse /app1 https://localhost:9090/
</VirtualHost>
<VirtualHost 10.0.0.1:80 > ServerName server.domain.com DocumentRoot /usr/local/apache/htdocs </VirtualHost>