如何按端口重定向到 Apache2 上的 https + 端口

如何按端口重定向到 Apache2 上的 https + 端口

我打算设置多个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

相关内容