我有一个单一的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并设置如下所示:
哪个apache会指向不同的文档根目录
Alias /somepath "/usr/local/www/somepath"
而http://mydev.net仍然会指向通常的文档根目录
或者,如果在端口8200上运行的服务不是apache,而是一些其他服务,那么您想要访问默认端口,则可以使用mod_proxy将请求从端口80反向代理到8200
如果你想让同一个域指向与你的机器不同的东西(例如,你想testing你的网站的开发代码库,但是在真实的域中),唯一真正的select是设置网站的第二个版本在不同的IP地址上,然后使用客户机上的本地主机文件来误导第二个IP地址的域名。