Apache中从IP+端口重定向至域名的配置求助
问题
目前仅IP(11.111.11.111)重定向到域名的配置可正常生效,配置如下:
<VirtualHost *:80> ServerName 11.111.11.111 Redirect "/" "https://www.mydomen.com/" </VirtualHost>
需要实现从11.111.11.111:1111重定向至https://www.mydomen.com/,但尝试以下配置后无法生效:
<VirtualHost *:80> ServerName 11.111.11.111:1111 ServerAlias 11.111.11.111* Redirect "/" "https://www.mydomen.com/" </VirtualHost>
解决方案
要实现IP+端口的重定向,需按以下步骤修改配置:
配置Apache监听目标端口
首先在Apache的主配置文件(httpd.conf或ports.conf,取决于系统)中添加监听1111端口的指令:Listen 1111确保Apache重启后能正常监听该端口,且服务器防火墙已开放1111端口的入站请求。
修改VirtualHost配置
创建对应1111端口的虚拟主机配置,注意VirtualHost的端口要与监听端口一致,且ServerName无需添加端口:<VirtualHost *:1111> ServerName 11.111.11.111 Redirect "/" "https://www.mydomen.com/" </VirtualHost>
原配置失效原因
- 原VirtualHost监听的是80端口,而请求是发往1111端口,所以该虚拟主机不会被匹配到;
ServerName字段无需附加端口,端口由VirtualHost的监听端口(*:1111)决定,添加端口的写法不符合Apache配置规范;ServerAlias 11.111.11.111*属于无效配置,通配符仅适用于域名前缀/后缀,不适用于IP地址。
内容的提问来源于stack exchange,提问作者VlaKor
相关产品推荐
相关产品推荐

