centos nodejs应用程序可以工作,但nginx代理无法捕获它

qrjkbowd  于 2022-11-07  发布在  Nginx
关注(0)|答案(1)|浏览(174)

我有一个Nodejs应用程序在我的服务器上运行,所以我想使用Nginx反向代理从一个不错的域名来调用API,而不是输入IP和端口,我还生成了一个免费的让我们加密证书来使用。
问题是反向服务器不工作,如果我使用IP和端口,然后它的工作,如果我使用域名,它给我一个Nginx模板测试页,无论如何,这里是我的配置:
如果您有任何问题,请联系我们。如果您有任何问题,请联系我们。如果您有问题,请联系我们。

access_log  /var/log/nginx/access.log  main;

sendfile            on;
tcp_nopush          on;
tcp_nodelay         on;
keepalive_timeout   65;
types_hash_max_size 2048;

include             /etc/nginx/mime.types;

# include /etc/nginx/sites-enabled/*;

default_type        application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.

# See http://nginx.org/en/docs/ngx_core_module.html#include

# for more information.

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

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

我反向代理配置和位置
/etc/nginx/配置文件.d/api1.conf文件中指定的文件类型
后端API服务器{服务器名称api.domain.com;

location / {
    proxy_pass http://localhost:26423/all; #whatever port your app runs on
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

}
enter image description here
每当我尝试从浏览器或 Postman 查看API时,我都会看到此页面

bprjcwpo

bprjcwpo1#

如果你有一个域,它应该指向服务器的公共ipv4 ip,然后创建一个nginx vhost来代理你的nodejs应用。
假设您的公共服务器ipv4 ip地址为1.2.3.4,并且您有一个类似于www.example.com的域nodejsappdomain.com,则nodejsappdomain.com应指向1.2.3.4,nginx vhost将类似于以下内容:
服务器{监听80;

server_name nodejsappdomain.com www.nodejsappdomain.com;

location / {
    proxy_pass  http://127.0.0.1:nodejsapp_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
}

}

相关问题