场景:本来是一台webserver来支撑网站的访问,为了提高访问的速度,增加web服务器安全性,增加一台varnish代理。
varnish配置完成后,修改l**.g***z.com到varnish ip地址上,然后测试访问!
为了增加webserver的安全性我在防火墙上做了更严格的限制:
-A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
-A INPUT -s 192.***.***.18 -j ACCEPT ###设置来自varnish ip 的请求都接受,将后面的80端口给注释掉,结果有些页面不能访问,后来对所有的客户开放80端口,web页面才正常,感觉对所有的用户开放80端口还是不好,所以就针对varnish ip限制了80端口的访问,结果又有问题,某些页面不能访问!
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -p udp -m udp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m tcp
-s varniship --dport 80 -j ACCEPT ##这里我设置80只接受来自varnish 的请求
结果web访问有问题:某些页面不能打开,某些页面是可以打开的!
原因:
-
*****hu(*****) 16:06:51
-
有可能是哪个环节卡住了,导致请求一直在等待
-
***liu(***) 16:06:58
-
这个是不是要去其他的网站上去拿数据
-
*****hu(*****) 16:07:12
-
是的
-
-
*****hu(*****) 16:12:26
-
从别的服务器上请求数据的功能是好的
-
***liu(***) 16:13:06
-
我现在明白原因了:varnish不缓存php,将请求转给webserver,werserver去其他的网站去拿数据,但由于我配置了80端口只允许 varnish过来,所有它的数据回不来,就导致一
-
-
直卡在这里
-
*****hu(*****) 16:13:53
-
我还晕着在
-
*****hu(*****) 16:14:01
-
你明白了,应该就有解决办法了
-
***liu(***) 16:15:20
-
我再解释下,php程序去其他的网站拿数据,拿到了,要会给webserver,但我配置了80端口只接受varnish 机器的请求,所以数据回不来,就一直在等待,直到503错误
-
-
*****hu(*****) 16:16:03
-
OK
-
-
***liu(***) 16:16:50
-
开放80就可以了
-
***liu(***) 16:17:03
-
开放80,任何人都可以访问就可以了
-
-
*****hu(*****) 16:18:23
-
开放80也行
-
-
***liu(***) 16:20:34
-
还是开放80吧,这样不会有问题,但安全性不如我那样设置,但程序已经成型了,只能开放80了
-
*****hu(*****) 16:20:54
-
嗯
我们的程序需要去其他的网站获取数据,而我在webserver的80上限制只有来自varnish 的请求才接受,其他的都拒绝,故其他网站的数据不能回到webserver上来!
见附件!
愿它留下工作的轨迹!!
阅读(1572) | 评论(0) | 转发(0) |