我有 centos 7 并在 vps 上安装了 apache 服务器。监听 80、8002 端口httpd.conf
Listen 80
Listen 8002
还检查了$ netstat -anp | grep 8002
tcp 0 0 0.0.0.0:8002 0.0.0.0:* LISTEN 10186/httpd
没有问题。它正在监听,我通过firewalld和--reload打开了端口
这是打开的端口 $ firewall-cmd --list-ports
,输出
80/tcp 8002/tcp
结果是,当我在浏览器上检查时。我可以在端口上看到网站80
,但出现<IP address:8002>
问题。它尝试连接,但最终"ERR_CONNECTION_TIMED_OUT"
返回错误。
于是我去了终端,并找到了地址,$ telnet <IP address> 8002
它返回了connected
此外,我运行后curl <IP address:8002>
,它html
按预期毫无问题地返回了。但我不太清楚为什么我无法:8002
在浏览器上连接。为什么我可以看到:80
...有什么区别?
虚拟主机配置
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot /var/www/dom1/
ErrorLog /var/www/dom1/error.log
CustomLog /var/www/dom1/access.log combined
</VirtualHost>
<VirtualHost *:8002>
ServerName localhost
ServerAlias localhost
DocumentRoot /var/www/dom2/
ErrorLog /var/www/dom2/error.log
CustomLog /var/www/dom2/access.log combined
</VirtualHost>
答案1
检查虚拟主机配置。在不同的端口上运行站点。
参考链接:
https://httpd.apache.org/docs/2.4/mod/core.html#virtualhost https://httpd.apache.org/docs/2.4/vhosts/examples.htm。
我建议您检查 apache 错误日志并使用正确的服务器名称。
听 80 听 8080
服务器名称 www.example.com DocumentRoot "/www/domain-80"
服务器名称 www.example.com DocumentRoot "/www/domain-8080"
服务器名称 www.example.org DocumentRoot "/www/otherdomain-80"
服务器名称 www.example.org DocumentRoot "/www/otherdomain-8080"