使用NGINX无法将端口80转发到8080端口

3
我一直在尝试首次设置NGINX,并需要将我的网站的端口从80转发到8080。然而,经过多次尝试后我仍未成功。以下是我最新的尝试:
我按照此处的步骤进行操作:https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-virtual-hosts-server-blocks-on-ubuntu-12-04-lts--3 不同之处在于我的nginx.conf文件包含:
server{
    listen 80;
    server_name myWebsiteName;

    access_log /home/path_to_site/access.log;
    error_log /home/path_to_site/error.log;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

这是正确的文件内容吗?我是否使用了错误的教程?
谢谢!
1个回答

4
您提供的示例有一些错误:
  • 0.0.0.0不等同于localhost,您可能想要将IP地址更改为127.0.0.1
  • 8082与您想要转发到的端口(我相信是8080)不匹配。

修正后的示例如下:

server{
   listen 80;
   server_name myWebsiteName;

   access_log /home/path_to_site/access.log;
   error_log /home/path_to_site/error.log;

   location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

在这个例子中,所有在80端口上的请求都将被代理到这台主机上的8080端口。尽管这是可能的,但这真的是你要寻找的解决方案吗?你能改变被代理应用程序的监听端口吗?

嘿,谢谢你的回复。我已经粘贴了未修改的示例,我的代码实际上看起来像你发布的那个,对于造成的混淆我很抱歉。还有其他方法可以做到这一点吗?是的,更改应用程序的端口应该是可能的。 - Anamaria Cotirlea
如果您将运行在端口8080上的应用程序更改为侦听端口80,则似乎不再需要nginx。如果不是这种情况,您能否解释一下为什么希望在端口8080上的应用程序和Web客户端之间有nginx?或者唯一的原因是能够进行端口转发吗? - DJFliX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接