我如何使用mod_proxy让Apache为特定的URL使用自定义端口?

我有一个单一的IP地址说10.10.55.55

我希望我的虚拟机使用特定的端口,而不必指定端口。

所以不是说mydev.net:8200我想说mydev.net(打到docroot),并且这个端口是隐含的。 我怎样才能用Apache 2来做到这一点?

<VirtualHost *:8200> ServerAdmin [email protected] DocumentRoot /var/www/html-8200/ ServerName mydev.net ServerAlias www.mydev.net AllowEncodedSlashes On RewriteEngine on RewriteOptions Inherit </VirtualHost> 

http://mydev.net => http://mydev.net:8200

对不起,不可能。

客户端连接的端口由客户端而不是服务器决定 – Apache无法在客户端浏览器中更改此行为。 端口80始终是http://的隐含端口,端口443始终是https://的隐含端口。

您可以将客户端redirect到:8200 ,或从80到8200反向代理连接。但这些方法可能是毫无意义的,这取决于您要完成什么。

你可以使用mod_alias或mod_proxy并设置如下所示:

http://mydev.net/somepath

哪个apache会指向不同的文档根目录

 Alias /somepath "/usr/local/www/somepath" 

http://mydev.net仍然会指向通常的文档根目&#x5F55;

或者,如果在端口8200上运行的服务不是apache,而是一些其他服务,那么您想要访问默认端口,则可以使用mod_proxy将请求从端口80反向代理到8200

如果你想让同一个域指向与你的机器不同的东西(例如,你想testing你的网站的开发代码库,但是在真实的域中),唯一真正的select是设置网站的第二个版本在不同的IP地址上,然后使用客户机上的本地主机文件来误导第二个IP地址的域名。