【问题标题】:Unable to forward port 80 to 8080 using NGINX无法使用 NGINX 将端口 80 转发到 8080
【发布时间】:2016-06-23 19:12:01
【问题描述】:

我第一次尝试设置 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;
    }
}

这是正确的文件内容吗?我是否使用了错误的教程?

谢谢!

【问题讨论】:

    标签: nginx portforwarding


    【解决方案1】:

    您提供的示例包含一些错误:

    • 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。

    尽管这是可能的,但这真的是您正在寻找的解决方案吗?是否可以更改您要代理的应用程序的侦听端口?

    【讨论】:

    • 您好,感谢您的回复。我粘贴了未修改的示例,我的代码实际上看起来像您发布的代码,很抱歉造成混淆。还有另一种方法吗?是的,应该可以更改应用程序的端口。
    • 如果您将在端口 8080 上运行的应用程序的端口更改为侦听端口 80,在我看来似乎不再需要 nginx。如果不是这种情况,您能否解释一下为什么您希望 nginx 位于端口 8080 上的应用程序和 Web 客户端之间?或者是能够转发的唯一原因?
    猜你喜欢
    • 2014-09-11
    • 1970-01-01
    • 2016-03-10
    • 2015-01-06
    • 2020-09-03
    • 2017-07-18
    • 1970-01-01
    • 2018-01-25
    • 2015-10-16
    相关资源
    最近更新 更多