我有一個相當簡單的問題,我有一個環境,在那里我經常更改子域,但有些也存在,現在我想將 api.example.com1.2.3.4:8080和所有其他傳入請求轉發到2.3.4.5:9090. 到目前為止,我的設定是將來自 api 子域的所有請求轉發到1.2.3.4:8080:
server {
listen 80;
listen [::]:80;
server_name api.example.com;
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location / {
proxy_pass http://1.2.3.4:8080;
}
}
現在我需要一種方法將所有其他子域指向2.3.4.5:9090.
uj5u.com熱心網友回復:
您所需要的只是動態決議您的子域。以下配置將照顧您的情況。
server {
listen 80;
listen [::]:80;
server_name ~^(?<subdomain>. )\.example\.com;
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location / {
if ($subdomain = "api") {
proxy_pass http://1.2.3.4:8080;
}
proxy_pass http://2.3.4.5:9090;
}
}
uj5u.com熱心網友回復:
使用default_server在listen。請參閱檔案。
server {
listen 80;
listen [::]:80;
server_name api.example.com;
location / {
proxy_pass http://1.2.3.4:8080;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / {
proxy_pass http://2.3.4.5:9090;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/342937.html
標籤:nginx 反向代理 nginx-反向代理
上一篇:單機多應用
