我打算设置多个ServerName
具有不同端口号的相同虚拟主机。
例如:
http://a.example.com:3001
http://a.example.com:3002
http://a.example.com:3003
我需要重定向到https://a.example.com:3001
(带有端口的https)等等。
我们可以写这样的条件:如果端口是 80+300X 那么重定向到https//a.example.com:300X
(意味着https+3001
) 吗?
答案1
也许您可以通过侦听所有端口并明确定义 3001 端口虚拟主机来实现这种行为。像这样:
<VirtualHost _default_:3001>
DocumentRoot "/www/default3001"
# main app here
</VirtualHost>
<VirtualHost _default_:*>
DocumentRoot "/www/default"
# do the redirect here...
</VirtualHost>
但您还需要将服务器设置为侦听您需要的所有端口。而且 apache httpd 中没有端口范围设置,因此每个端口都需要像这样显式设置:
Listen 80
Listen 81
# lots of ports here....
Listen 3000