我在安装了 NGNIX 的 ubuntu 服务器中有两个 NodeJS 后端在端口 3000 和 4000 上运行。
我没有任何域名,但我想使用 nginx 作为反向代理用我的 IP 地址像这样。
- xxx.xxx.xxx.xxx/app1 => 应将所有请求转发到端口 3000
- xxx.xxx.xxx.xxx/app2 => 应将所有请求转发到端口 4000
这是我在 NGINX 配置中尝试过的,但 NGINX 返回 404 未找到响应。
在/etc/nginx/站点可用目录,我已经修改默认就像这样,
server {
listen 80;
listen [::]:80;
location /app1 {
proxy_pass http://127.0.0.1:3000;
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;
}
location /app2 {
proxy_pass http://127.0.0.1:4000;
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;
}
}
我该如何实现它?谢谢!
答案1
干得好
本地主机上使用不同端口的多个 http 服务器
server {
server_name mydomain-01.com;
location / {
proxy_redirect http://localhost:8001 https://mydomain-01.com;
...
}
}
server {
server_name mydomain-02.com;
location / {
proxy_redirect http://localhost:8002 https://mydomain-02.com;
...
}
}
本地主机上使用基于主机名的站点的单个 http 服务器
server {
server_name mydomain-01.com;
location / {
proxy_redirect http://s1.mydomain:4000 https://mydomain-01.com;
...
}
}
server {
server_name mydomain-02.com;
location / {
proxy_redirect http://s2.mydomain:4000 https://mydomain-02.com;
...
}
}