gpt4 book ai didi

tomcat - nginx 代理服务器 localhost 权限被拒绝

转载 作者:行者123 更新时间:2023-11-28 21:44:34 34 4
gpt4 key购买 nike

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

我正在运行 Redhat 7 的亚马逊 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: Permission denied) while connecting to upstream, client

这绝对是一个用户访问问题,但似乎无法弄清楚。看起来 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 代替本地主机,但没有成功。我也尝试将 nginx.conf 中的用户更改为 myuser,但仍然没有成功。当我直接连接到应用程序服务器时,我没有任何问题。

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

提前致谢。

最佳答案

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

 /usr/sbin/setsebool -P httpd_can_network_connect true 

感谢@DaveTrux 添加 -P 标志

关于tomcat - nginx 代理服务器 localhost 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25235453/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com