如果可能的话,使用nginxredirect到节点应用程序的位置?

我有一个Angular应用程序在一个目录(前端)和NodeJS应用程序 (后端API REST)在我的EC2机器的另一个目录中。 我有一个mydomain.comSSL证书

  • 前端(Angular App)由mydomain.com的Nginx提供

  • 后端(NodeJS API REST)在端口3000上运行,所有的路由都像/api/whatever/

我想通过NGINX使用我的SSL证书作为前端和后端,在同一个域名后面。

我的问题是,在Nginx中,是否有可能将所有请求(如mydomain.com/api/whateverredirect到NodeJS后端,并将所有请求(如mydomain.com/angularRoutesredirect到前端文件夹?

我的Nginxconfiguration文件是这样的:

 upstream { server apinode 127.0.0.1:3000 max_fails=0; } server { listen 80; server_name mydomain.com; rewrite ^ https://$host$request_uri permanent; } server { listen 80; server_name www.mydomain.com; rewrite ^(.*)$ $scheme://domain.com$1; } server { listen 443; server_name mydomain.com; ssl_on; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; location / { root /home/ubuntu/frontend; index index.htm index.html; } } 

我想补充一下:

 location /api/ { proxy_pass: http://apinode proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } 

有可能的? 我需要更改/添加/删除?

非常感谢!