![Centos6 备用 Apache/虚拟主机配置备用端口](https://linux22.com/image/621924/Centos6%20%E5%A4%87%E7%94%A8%20Apache%2F%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AE%E5%A4%87%E7%94%A8%E7%AB%AF%E5%8F%A3.png)
我有一个 Apache2 + Virtual Host 配置,它在端口 80 上运行良好,但我试图让相同的设置在端口 9000 上运行。我进入 httpd.conf 并将 Listen 行更改为:
Listen xxx.xxx.xxx.xxx:9000
然后我进入我的网站的虚拟主机配置并将其更改为:
<VirtualHost xxx.xxx.xxx.xxx:9000>
我在 iptables 上打开了端口 9000,如下所示:
$ iptables -A INPUT -i eth0 -p tcp --dport 9000 -j ACCEPT
$ iptables -A OUTPUT -i eth0 -p tcp --dport 9000 -j ACCEPT
但我遇到了网站仍然无法工作的问题。大多数时候,我会直接收到连接错误,有时(在更改某些配置后)我会让它加载服务器默认的 htdocs 目录。
不知道我还遗漏了什么。
答案1
您的 html 链接可能不包含:9000,因此它们没有到达正确的端口(如果没有指定端口,它们默认为 tcp/80。
另外,你的 iptables 指令
iptables -A OUTPUT -i eth0 -p tcp --dport 9000 -j 接受
没有必要,因为返回流量几乎从不来自端口 9000,即使有,也会被第一条指令中的 ESTABLISHED/EXISTING 状态表条目所覆盖,因此你可以终止第二条指令
否则你的 listen 和虚拟主机 apache 指令看起来是正确的...l(这就是为什么我猜测你的页面上的 url 可能缺少http://your.domain.com:9000)