【发布时间】:2021-02-04 13:29:03
【问题描述】:
我的服务器上有一个 NGINX 反向代理来处理http://apcompdoc.com 的请求。它监听 80 端口,并且可以成功返回 Vue Dist,但是,我有一个后端节点 API 在端口 8081 上运行,另一个节点进程在端口 8082 上运行。用户从不直接在 8082 上请求任何内容,而是在 8081 上请求进程有时会在 8082 上请求进程,所以我假设我根本不需要将它暴露给 Nginx,但我不太确定。但是,主要问题是我相信从未达到过 API。我有它,所以当您点击端点http://apcompdoc.com/api/* 时,它应该代理到节点进程。我正在使用 PM2 来保持进程处于活动状态并对其进行监控,并确保它正在运行。这是我的 NGINX apcompdoc.com 配置文件:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name: apcompdoc.com www.apcompdoc.com;
charset utf-8;
root /var/www/apcompdoc/dist;
index index.html index.htm;
# Always serve index.html for any request;
location / {
root /var/www/apcompdoc/dist;
try_files $uri /index.html;
}
location /api/ {
proxy_pass http://localhost:8081;
}
error_log /var/log/nginx/vue-app-error.log;
access_log /var/log/nginx/vue-app-access.log;
}
我试图在 /api/* 处获取对我的 API 的所有请求,以重定向到 localhost:8081 处的 API,然后返回给用户。我看到了一些关于将代理重定向回来的东西,我必须这样做吗?我也不知道我是否必须在 NGINX 配置文件中执行/api/*。
我真的是 NGINX 的新手,但我只想将对 http://apcompdoc.com/api/* 的请求重定向到端口 8081 上的节点进程。
【问题讨论】:
标签: node.js nginx nginx-reverse-proxy nginx-location