在本地配了个服务,跑在tcp/18088端口上,然后nginx配了个反向代理连接未果,报http500。
于是查error.log报:
2018/03/31 22:55:25 [crit] 4063#0: *18970 connect() to 127.0.0.1:18088 failed (13: Permission denied) while connecting to upstream, client: <my_ip_address>, server: proj.vrqq.org, request: "GET /cgi/nulljson HTTP/1.1", upstream: "http://127.0.0.1:18088/nulljson", host: "proj.vrqq.org"
遂本地测试 telnet 127.0.0.1 18088
通!
这很奇怪啊。。。于是想到SELinux问题
查如下两个链接
简单的解决方案:https://stackoverflow.com/a/39737231
以及更加详细的说明:https://www.nginx.com/blog/nginx-se-linux-changes-upgrading-rhel-6-6/
果然是机智的SELinux,还要多学多练啊!
semanage port -a -t http_port_t -p tcp 18088
网上直接搜这个错误,大多数找到的是如何关掉selinux,我??????
诸君晚安!近期还要上线一个小工具 明日战。。
一切唯心造
人生而孤独
Part2 如何在本地调试需要公网ip:80的程序
先要有公网IP (没有的话做内网穿透,比如proxy啥的)
现在运营商为了守法,禁止使用80端口,不过我们可以换一个比如8008。。。。
先路由器里配端口映射,把内网端口顶到公网IP上。
然后找个带公网IP的服务器,可以用iptables,也可以用nginx反向代理。。