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

标签 nginx portforwarding

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

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

谢谢!

最佳答案

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

  • 0.0.0.0 与本地主机不同,您可能希望此 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。

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

关于nginx - 无法使用 NGINX 将端口 80 转发到 8080,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37999926/

相关文章:

ssh - PuTTY 配置相当于 OpenSSH ProxyCommand

macos - 从 Docker OS X beta 连接到 rethinkdb(或在 http 端口上运行的任何其他应用程序)

nginx - 使用 Nginx 基于用户代理服务聚合包

java - 在等待 "long"时间时重用 tomcat 线程

nginx - K8s Helm - 带有 Nginx Ingress 的 Jenkins

python - 如何从笔记本电脑托管服务器?

mysql - 无法连接到远程mysql(使用PuTTY和隧道)

Symfony 应用程序无法获得 Traefik 和 Nginx 代理背后的 HTTPS 流量

nginx - 当 docker-compose 的一部分时,自定义 nginx 容器立即退出

dns - 我可以配置子域以指向我的服务器上的特定端口吗