代码之家  ›  专栏  ›  技术社区  ›  sac Dahal

启动Nginx时,配置为wile reverse proxy的Nginx错误显示“欢迎使用Nginx”

  •  0
  • sac Dahal  · 技术社区  · 8 年前

    这是我第一次使用nginx。我有2台express服务器运行在端口3001和3002的本地主机上。它运行得很好。 我正在使用ubuntu,以下是我为nginx采取的步骤。

    • 首先,我使用sudo apt get安装nginx

    • 删除已启用站点和可用站点中的默认文件 sudo rm -f默认值

    • 在我有这些代码的可用站点中创建默认文件(目前仅尝试在端口3001中运行一台服务器) sudo vi默认值 服务器 { 听80;
      位置/ { proxy\u pass“ http://192.168.100.5:3001 "; } }

    • 从可用站点到已启用站点的符号链接默认值: sudo ln-s/etc/nginx/可用站点/默认/etc/nginx/已启用站点/默认

    • 启动nginx sudo/etc/init。d/nginx启动

    欢迎使用nginx如果您看到此页面,nginx web服务器已成功安装并正常工作。需要进一步配置。

    • 我还尝试在启用的站点中使用此配置

      上游项目{ 服务器 http://localhost:3001 ; } 服务器{ 听80; } }

    但它产生了同样的结果。请提供任何指导。非常感谢。

    2 回复  |  直到 8 年前
        1
  •  1
  •   NullDev Kevin Fisher    8 年前

    尝试使用 proxy_pass 使用本地主机,不带引号。

    假设您希望应用程序位于端口 3001 作为您的网站,您需要如下配置:

    location / {
        proxy_pass http://localhost:3001/;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    

    此代码需要位于 server 阻止您的 default 文件

    它将通过该位置的所有交通 / (您的web根目录)到端口 3001 .

    完整的示例如下所示:

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
    
        server_name example.com;
    
        location / {
            proxy_pass http://localhost:3001/;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    

    说明:

    proxy\u通行证 http://localhost:3001/ ;

    这将把所有流量传递到 port 3001 .


    proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;

    这将向代理服务器传递诸如发出调用的IP之类的信息。


    proxy\u set\u头X-Forwarded-Proto$方案;

    这将转发请求的已用sheme/协议信息。

        2
  •  1
  •   rijin    8 年前

    主要是您的配置文件问题。 请参阅以下在3000和3001端口上运行的不同express应用程序示例。这就是配置文件在我的nginx配置文件中的样子

    server {  
        listen 0.0.0.0:80;
        server_name stage.chat.in www.stage.chat.in;
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $proxy_host;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass  http://127.0.0.1:3000;
        }
    }
    server {  
        listen 0.0.0.0:80;
        server_name api.chat.in www.api.chat.in;
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $proxy_host;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass  http://127.0.0.1:3002;
        }
    }