技术解析

请问这种情况下 Nginx 应该怎么配置?
0
2021-05-25 16:10:11
idczone
main.py 是 web 后台管理, api.py 是给 app 访问的,
url 使用主域名后跟 /api 的路大带宽服务器径;
使用 supervisor 分别配置了两个 program 。
用Nginx怎么配置upstream才能实现api和后台单独服务,互不干扰?


不知道另外加一个 location 块合不合用
'location ^~ /api {}'

但是得指定端口才行

location / proxy_pass upstream1
location /api proxy_pass upstream2

就按照 说的两个 location 块,对应两个 upstream 块不行吗?



谢谢,我来试试看

server {
listen 80;
server_name www.ooooo.com;
error_page 404 = /404.htm;
location /f/fade_pay {
proxy_pass http://xxxxx.com/fade_pay;
proxy_set_header Host "xxxxx.com";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
error_log off;
}
location /f/fade_payok {
proxy_pass http://yyyyy.com/fade_payok.html;
proxy_set_header Host "yyyyy.com";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
error_log off;
}
location /f/test_fade_pay {
proxy_pass http://zzzzz.com/fade_pay;
proxy_set_header Host "zzzzz.com";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
error_log off;
}
。。。。。。
}
我的反向代理服务器,只要备案一个域名,挂很多个服务器,端口可以任意。
不知道和题主的答案切合不切合。

..配置 server 的时候先写 /API 部分. 再写 /..

location /
location /api
这样难道不行么
先后没关系, nginx 对于静态路径是按最长匹配优先

nginx 的配置和顺序无关,只和规则有关,静态高于正则,长优先于短








经测试,新增一个 location 可行,和顺序无关。配置如下:

worker_processes 1;
events {
worker_connections 1024;
}
http {
gzip on;
server for cms
upstream app {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
}
server for app
upstream api {
server 127.0.0.1:9000;
server 127.0.0.1:9001;
}
server {
listen 80;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_pass http://app;
}
location /api {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_pass http://api;
}
}
}

多谢各位!

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服