php - 无法使用 apache 2.2.15 访问 CentOS 6 上的虚拟主机

标签 php apache centos

我一直在四处寻找并尝试对 apache 2.2.15 服务器的 httpd.conf 文件进行不同的配置,但我找不到解决问题的方法。所以我将其张贴在这里以寻求大师的帮助。

我在 CentOS 6.7 服务器上的/etc/httpd/conf/httpd.conf 上有这个配置。

Listen 80
Listen 8080

<VirtualHost *:8080>
       ServerName example.com       (Corrected after the comment)
       DocumentRoot /var/www/dbgui       
       ErrorLog logs/dbgui-8080-error_log
       <Directory /var/www/dbgui>
              AllowOverride All
       </Directory>
</VirtualHost>

<VirtualHost *:80>
       ServerName example.com
       DocumentRoot /var/www/laravel/public
       ErrorLog logs/example-80-error_log
      <Directory /var/www/laravel>
              AllowOverride All
      </Directory>
</VirtualHost>

当我浏览到 http://example.com 时我得到了 Laravel 页面(如预期的那样)但是当我浏览到 http://example.com:8080 时我收到“连接超时”

我已经在IP表上打开了8080端口

output of netstat -nltup
tcp        0      0 :::8080    :::*    LISTEN      13097/httpd
tcp        0      0 :::80      :::*    LISTEN      13097/httpd

Output of iptables -L -nv
0   0     ACCEPT  tcp  --  *  *  0.0.0.0/0     0.0.0.0/0      tcp dpt:8080
669 41648 ACCEPT  tcp  --  *  *  0.0.0.0/0     0.0.0.0/0      tcp dpt:80

我在日志中没有看到任何内容。虽然看起来 apache 正在监听端口 8080,但没有任何内容通过并记录到端口 8080。

有什么解决这个问题的建议吗?

最佳答案

感谢大家的帮助。经过大量的研究和尝试不同的东西,就在扔椅子之前,我终于解决了它。这里是: 确保 iptables 为 tcp/8080 正确打开端口和协议(protocol)后 接下来,仔细检查 VirtualHost 设置是否正确以及上述设置是否正确。 接下来我做的是确保 selinux 没有阻塞端口 8080,方法是将其全部禁用或将其设置为许可模式。

#semanage port -l | grep http
http_cache_port_t              tcp      3128, 8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989

可以看出,端口 8080 列在 http_cache_port_t 中,现在确保 selinux 不会阻止它

#setsebool -P httpd_can_network_memcache 1

然后列出它以确保它设置为“on”或“1”

# getsebool httpd_can_network_memcache

上面的命令都没有解决问题,而我正在调查日志 /var/log/audit/audit.log 和/var/log/httpd/access_log 和 /var/log/httpd/error_log 我找不到与端口 8080 相关的任何错误 毕竟,我开始认为这没有意义,因为所有配置都正确但我无法通过。所以我再次查看了 iptables 输出:

#iptables -L -nv
0     0  ACCEPT    tcp  --  *     *    0.0.0.0/0   0.0.0.0/0    tcp dpt:8080
25  1316 ACCEPT    tcp  --  *     *    0.0.0.0/0   0.0.0.0/0    tcp dpt:80
24  1240 ACCEPT    tcp  --  *     *    0.0.0.0/0   0.0.0.0/0    tcp dpt:443

显示 0 个数据包和 0 个字节来自服务器。我找到了这个网站

http://www.yougetsignal.com/tools/open-ports/

显示8080端口被阻塞。作为最后的手段,我把椅子举在空中 :),我联系了 ISP,我被告知服务器前面有防火墙,端口 8080 被阻止,当他们打开它时,我把椅子放下,因为我终于可以访问了.

关于php - 无法使用 apache 2.2.15 访问 CentOS 6 上的虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36272213/

相关文章:

php - Laravel 中需要什么 env 和 env.example 文件?

PHP变量不显示值

php - 在 PHP 的 RESTful API 中路由

apache - 客户端证书选择

MySQL Server 5.6 无法在 CentOS 7 上启动

php - MySQL参数资源错误

apache - Mod_重写: Include query string when redirecting

php - 如何在 PHP 5、Fedora 服务器上启用 mbstring 扩展

linux - 无法解释的平均负载 CentOS Linux php-fpm

php - MBSTRING 问题 : Unable to load dynamic library