ProxyPass:将目录URLredirect到非标准端口

我一直在search谷歌,并没有太多的成功find答案。 我在Ubuntu上运行一个服务器,并且我安装了使用各种非标准端口的程序。 每一个使用不同的端口,在我的情况下,他们是9090,9091,9092,9093和9094.我build立了一个Apache服务器,并有一个域名,现在可以到达我的服务器,而不必input我的IP地址。 我正在寻找的是一种创build可以指向我列出的不同端口的目录的方法。 我想要的东西是:

 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之类的基于其他post,但没有任何工作。 我需要添加一个新的网站吗?

此外,如果这涉及到编辑文件,我期望它,将不胜感激,如果你可以列出文件的默认位置和添加的东西。 我不断看到post说要添加ProxyPass,所以我只是假设它进入VirtualHost里面,但我不完全确定。 基本上,我对Web服务器设置知之甚less,需要对待。

我对任何不正确的标签表示歉意,我很欣赏您阅读这篇文章的时间以及您可以提供的任何帮助。

编辑:澄清,应用程序已经可以通过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> 

确保安装并加载了以下apache模块:

 mod_proxy mod_proxy_http mod_ssl 

您可以通过以root身份运行以下命令来检查(假设httpd位于$ PATH中)

httpd -t -D DUMP_MODULES

之后,尝试将您的configuration更改为以下内容:

 ProxyRequests Off <Proxy *> Order deny,allow Deny from all Allow from 127.0.0.1 </Proxy> SSLProxyEngine on ProxyPass /app1 https://localhost:9090 ProxyPassReverse /app1 https://localhost:9090 

如果您访问http://localhost/app1http://mydomain.com/app1假设mydomain.com指向本地主机,代理现在应该工作。