一尘不染

nginx代理服务器本地主机权限被拒绝

tomcat

我只是将nginx设置为直接代理tomcat应用服务器的Web服务器。当用户连接到我的网站时,Nginx应该将请求重定向到运行Tomcat应用程序服务器的端口8080。

我正在运行Redhat 7的Amazon EC2实例上执行所有操作。

我到目前为止所拥有的是:

nginx.conf file

user nginx;
worker_processes  1;

server {
 listen 80;
 server_name mydomainname;
 access_log  /var/log/nginx/example.log;
 error_log /var/log/nginx/example.error.log;

 location / {
  proxy_pass http://localhost:8080/example/;
 }
}

连接到上游客户端 时,我得到的错误是 (13:权限被拒绝)

这绝对是一个用户访问问题,但似乎无法解决。好像nginx没有访问重定向到端口8080的权限。

另外,nginx在myuser下运行

root     15736   nginx: master process   /usr/sbin/nginx
myuser  15996   nginx: worker process
root     16017   grep --color=auto nginx

我试图把127.0.0.1代替localhost,但是没有运气。我也尝试将nginx.conf中的用户更改为myuser,仍然没有运气。当我直接连接到应用程序服务器时,我没有任何问题。

Example URL of my tomcat http://mydomain:8080/example/

先感谢您。


阅读 728

收藏
2020-06-16

共1个答案

一尘不染

经过2天的搜索,我能够找到解决方案。SELinux不知何故不允许Nginx代理到我的服务器。运行以下命令可解决此问题。

 /usr/sbin/setsebool httpd_can_network_connect true
2020-06-16