Nginx configuration for NodeJS API



我有一些我已经可以访问的静态文件,并且我有一个API,已经在数字海洋中。

,但是我有一些配置nginx同时访问的troble。如果我的API有效,则静态文件不可能。和反面;

我的API在端口5000上运行,我想通过IP Adress访问网站和API。

请帮助!

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name _;
    location / {
        try_files $uri $uri/ =404;
    }
}
server {
    location / {
        proxy_pass http://localhost:5000;
        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;
    }
}

如果从同一IP地址和端口访问两个服务,则需要使用一个server块。理想情况下,您将API移至独特的URI,例如:

location / {
    try_files $uri $uri/ =404;
}
location /api/ {
    proxy_pass ...;
    ...
}

如果您必须使用重叠的URI空间对静态文件和API使用,则可以使用try_files检查是否存在静态文件:

location / {
    try_files $uri $uri/ @proxy;
}
location @proxy {
    proxy_pass ...;
    ...
}

请参阅此文档以获取更多信息。

最新更新