2

我正在尝试安装一个独立的档案服务器,但遇到了 nginx ssl 代理的问题。我可以点击代理,但我得到一个 502 bad gateway 错误到它后面的码头服务器。Nginx 返回:

connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream.
  client: xxx.xx.xx.xxx, 
  server: server.at.aws, 
  request: "GET /archiva HTTP/1.1", 
  upstream: "http://127.0.0.1:8080/archiva", 
  host: "server.at.aws"

这是在 AWS 实例上。码头服务器正在侦听端口 127.0.0.1:8080。我已经确认我可以从实例本身访问档案服务器。Jetty 服务器是否需要任何特殊配置才能使其接受代理连接?

4

2 回答 2

2

我忘记了这个配置的一个非常重要的细节。它在运行 selinux 的 Fedora 服务器上。端口 8080 在 nginx 中脱离上下文并被拒绝。

type=AVC msg=audit(1380053745.510:1730): avc:  denied  { name_connect } for  
   pid=12145 comm="nginx" dest=8080 scontext=system_u:system_r:**httpd_t**:s0
   tcontext=system_u:object_r:**http_cache_port_t**:s0 tclass=tcp_socket

http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000

我重置了码头服务器以监听 8008,但至少我没有收到那些权限被拒绝的错误。服务器仍然无法正常工作,但原因不在此问题的上下文中。

于 2013-09-24T20:26:11.450 回答
1

除了默认端口外,nginx 无法访问。该访问是在默认 SELinux 策略中定义的,因此默认端口有效。

在您的情况下,这是创建新策略并使用可从审核日志创建策略模块的 audit2allow 工具安装它的最简单方法。

请参阅 https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Fixing_Problems-Allowing_Access_audit2allow.html

于 2013-10-05T11:05:24.623 回答