centos中nginx+tomcat+iptables,80端口只能访问静态资源,访问不到tomcat
centos中nginx+tomcat+iptables,80端口只能访问静态资源,访问不到tomcat, 但单独访问tomcat的端口可以访问到,不知道是为什么,
1. 如果不加iptables,则可以正常访问nginx,也可以代理到tomcat,加上就不行了。
2. nginx.conf中proxy_pass http://localhost:8080;修改为127.0.0.1:8080,tomcat中server.xml中Host的localhost修改为127.0.0.1后, nginx也代理不到tomcat。
Nginx配置:
user www www; worker_processes 1; events { use epoll; worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server_tokens off; sendfile on; #tcp_nopush on; keepalive_timeout 65; include gzip.conf; server { listen 80; server_name localhost; location / { deny all; } location ~ ^/NginxStatus { stub_status on; access_log off; allow 127.0.0.1; deny all; } } server { listen 80; server_name 115.48.125.155; access_log logs/tojsp.log; location ~ ^/NginxStatus { stub_status on; access_log off; } location ~ ^/(WEB-INF)/ { deny all; } location ~ .(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf)$ { root /data/tomcat; access_log off; expires 24h; } location / { proxy_pass http://localhost:8080; include proxy.conf; } error_page 502 503 /502.html; error_page 404 /404.html; error_page 403 /403.html; } }
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
iptables配置:
[root@xxx mysh]#iptables -L -n --line-number Chain INPUT (policy DROP) num target prot opt source destination 1 ACCEPT all -- 127.0.0.1 127.0.0.1 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 6 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:31337 7 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:31335 Chain FORWARD (policy DROP) num target prot opt source destination Chain OUTPUT (policy DROP) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:8080 5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:31337 6 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:31335
其中
Chain FORWARD (policy DROP) 修改为 ACCEPT也不行
求有经验朋友帮解决,谢谢 @红薯
-----------------------------------------------------------------
已经解决: 添加本地回路 允许
OUTPUT添加
ACCEPT all -- 127.0.0.1 127.0.0.1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
iptables -A INPUT -i lo -j ACCEPT
“添加本地回路 允许,OUTPUT添加” 这个能说的详细点吗?可否把代码贴出来?
iptables 不是默认那套就行了
本地访问8080肯定是没有问题的
你可以不添加8080 的accept,然后本地访问一下8080试试
增加个试试
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
应该是iptables的问题。。。
就是那套呀,nginx没有变,就是iptables自己加的
抄着红薯的那套配置就行了吧
什么意思?实战啊,机器上死活不通
验证?还是实战?
不能沉了呀,大家看看
正解,是我的失误,写漏了,已经解决了。谢谢
添加本地回路 允许