如何为Angular和Node设置NGINX?

我目前正在尝试托管角度应用和反向代理到节点后端。使用Lets Encrypt,我能够设置Angular应用程序而没有任何问题。但是,我对如何配置Nginx还充当我在特定端口上运行的节点应用程序的反向代理一无所知。我找到了Nginx反向代理的示例,但没有将两者结合的。

这是我正在使用angular的配置:

server {

    server_name example.com;

    root /var/www/example.com;
    index index.html index.htm;

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot

    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; # managed by Certbot

    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = www.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    listen [::]:80;

    server_name example.com www.example.com;
    return 404; # managed by Certbot
}

我要添加的内容:

server{
    server_name api.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

我尝试了服务器块和位置块的几种组合,但是当我访问api.example.com时,我只得到了404。

pony0517 回答:如何为Angular和Node设置NGINX?

我通常会解决此类问题。 所有后端API的端点均以“ v1”开头。 我使用pm2服务角度项目。

location / {
   proxy_pass http://localhost:3000;
   ...
}
location ~ ^/(v1)/ {
   proxy_pass http://localhost:3001;
...
}

本文链接:https://www.f2er.com/3158048.html

大家都在问