Nginx反向代理配置:除已定义子域名外其余子域名统一转发
Nginx配置调整方案
你只需要在现有配置基础上新增一个兜底的默认server块即可,无需修改已有的api.example.com配置。Nginx的server_name匹配逻辑为精准匹配优先级最高,未匹配到任意精准/通配子域名的请求会自动走标记了default_server的块处理。
完整配置参考
# 现有api子域名配置,保持不变 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; } } # 新增默认兜底配置 server { listen 80 default_server; listen [::]:80 default_server; # 这里用_匹配所有未匹配到的主机名,若仅需要匹配example.com的所有子域名可改为 *.example.com server_name _; access_log /var/log/nginx/default-reverse-access.log; error_log /var/log/nginx/default-reverse-error.log; location / { proxy_pass http://2.3.4.5:9090; } }
配置生效步骤
- 修改配置后先执行
nginx -t校验配置语法是否正确 - 校验通过后执行
nginx -s reload重载配置即可生效
内容的提问来源于stack exchange,提问作者Laurenz1606
相关产品推荐
相关产品推荐

