Nginx下开启iptables无法访问php页面。[已解决]

发布于 2022-09-12 20:47:55 字数 911 浏览 14 评论 7

本帖最后由 xiaoyang_syl 于 2011-01-13 13:09 编辑

OS:CentOS 5.4
Nginx:8.0.46
PHP:5.2.14
问题:开启iptables时,访问网站的html没问题,但访问phpinfo.php时报"502 Bad Gateway"。 iptables的写法同样在apache里php访问正常。
[root@host php]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Wed Apr 21 02:12:44 2010
*filter
#:INPUT ACCEPT [32541:1426721]
#:FORWARD ACCEPT [0:0]
#:OUTPUT ACCEPT [62546:91794330]

:INPUT DROP
:OUTPUT ACCEPT
:FORWARD DROP

-A INPUT -s 192.168.7.0/255.255.255.0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 192.168.4.0/255.255.255.0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i ! lo -p tcp -m tcp --dport 22 -j DROP

-A INPUT -p tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp --dport 9000 -j ACCEPT
#
COMMIT

请知道问题原因的露个面,谢了!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

过期以后 2022-09-19 09:54:39

多谢大家的发言。

蓝眼泪 2022-09-19 09:03:59

顶楼上,其实还有个简单的方法就是给iptables的log模块打开,看看拒绝了哪些

月牙弯弯 2022-09-18 22:28:06

php 本地调用走的是 lo

梦屿孤独相伴 2022-09-18 22:06:38

回复 3# xiaoyang_syl

    你执行netstat 看一下,nginx到底启用了那些端口,再确定打开指定端口就行了

久随 2022-09-17 13:12:39

解决了就好,楼主把标题修改下.
可能是fast-cgi使用的端口不止是9000,所以需要对lo放行.猜测的,没测试过.我的iptables规则lo是ACCEPT的

人心善变 2022-09-17 07:22:16

谢谢法王的回复。

-A INPUT -i lo -j ACCEPT
添加这一句就好了,但不明白为什么。
Nginx调用fastcgi方法如下;
location ~ .*.(php|php5)?$
    {      
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }

木有鱼丸 2022-09-16 09:20:30

这个问题我觉得与iptables无关,检查下nginx的配置
楼主要是觉得与iptables有关,可以停掉iptables测试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文