在 Nginx 中使用代理传递时,Nodejs 上的“无法获取”

问题描述

我在 jelastic Paas 上运行 Nginx 和 NodeJS,需要一个 Nginx 反向代理来定向到 Nodejs 上的 React 应用程序。

我收到“无法获取/”错误消息,并且不确定它是在 Nginx 还是 nodejs 端,我在其他环境中做了相同的配置,没有任何问题。

问题:

  1. 有什么我忘记了吗?
  2. 以下配置是否正确?

http {

server_tokens off ;

    include /etc/Nginx/mime.types;
    default_type application/octet-stream;

        set_real_ip_from  <PRIVATE IP>;
        set_real_ip_from  <PRIVATE IP>;
        set_real_ip_from  <PRIVATE IP>;
        real_ip_header    X-Forwarded-For;
        real_ip_recursive on;

    log_format  main  '$remote_addr:$http_x_remote_port - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" '
                      '"$host" sn="$server_name" '
                      'rt=$request_time '
                      'ua="$upstream_addr" us="$upstream_status" '
                      'ut="$upstream_response_time" ul="$upstream_response_length" '
                      'cs=$upstream_cache_status' ;

        client_header_timeout 10m;
        client_body_timeout 10m;
        send_timeout 10m;
        client_max_body_size 100m;

        connection_pool_size 256;
        client_header_buffer_size 1k;
        large_client_header_buffers 4 2k;
        request_pool_size 4k;

        gzip_min_length 1100;
    gzip_buffers 4 8k;
    gzip_types text/plain;

    output_buffers 1 32k;
    postpone_output 1460;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;

    keepalive_timeout 75 20;

    ignore_invalid_headers on;

map $upstream_addr        $group {
    default               "";

.<PRIVATE IP>:80$ common;
    }

    upstream default_upstream{
server <PRIVATE IP>;
    sticky path=/; keepalive 100;
}

upstream common {   server <PRIVATE IP> ;  sticky path=/; keepalive 100; }

        server {
            listen *:80;
            listen [::]:80;
            server_name  _;

            access_log /var/log/Nginx/localhost.access_log main;
            error_log /var/log/Nginx/localhost.error_log info;

                proxy_temp_path /var/Nginx/tmp/;
            proxy_connect_timeout 5s;

            error_page   500 502 503 504  /50x.html;

            proxy_next_upstream error timeout http_500;
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Host $http_host;
            proxy_set_header X-Forwarded-For $http_x_forwarded_for;
            proxy_set_header X-Remote-Port $http_x_remote_port;
            proxy_set_header X-URI $uri;
            proxy_set_header X-ARGS $args;
            proxy_set_header Refer $http_refer;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            if ($http_x_remote_port = '' ) {
                set $http_x_remote_port $remote_port;
            }
  
            location = /50x.html {
                    root   html;
            }

            location / {
                    if ($cookie_SRVGROUP ~ group|common) {
                            proxy_pass http://$cookie_SRVGROUP;
                            error_page   500 502 503 504 = @rescue;
                    }

                    if ($cookie_SRVGROUP !~ group|common) {
                            add_header Set-Cookie "SRVGROUP=$group; path=/";
                    }
                    proxy_pass http://default_upstream;
                    add_header Set-Cookie "SRVGROUP=$group; path=/";
            }

            location @rescue {
                    proxy_pass http://default_upstream;
                    add_header Set-Cookie "SRVGROUP=$group; path=/";
            }

        }

 include /etc/Nginx/conf.d/*.conf;

}

解决方法

这是我收到的消息

enter image description here