顶级域名与子域名解析到同一服务器的Nginx代理问题

问题

顶级域名 a.com 和子域名 b.a.com 解析到同一个服务器IP,但被 Nginx 同一化处理。我的预期是 Nginx 分别代理两个域名。
Nginx 当前关键配置:

server {
  listen 80;
  server_name a.com;

  location / {
    proxy_pass http://127.0.0.1:8080/APIs/;
  }
}

解决

server {
  listen 80;
  server_name a.com www.a.com;

  location / {
    proxy_pass http://127.0.0.1:8080/Hello/;
  }
}

server {
  listen 80;
  server_name b.a.com;

  location / {
    proxy_pass http://127.0.0.1:8080/APIs/;
  }
}

拓展

Nginx 对 server_name 的匹配顺序:

  1. 准确字符串
server {
  listen 80;
  server_name a.com www.a.com;
}
  1. 以通配符开始的字符串
server {
  listen 80;
  server_name *.a.com;
}
  1. 以通配符结束的字符串
server {
  listen 80;
  server_name www.*;
}
  1. 正则表达式
server {
  listen 80;
  server_name ~^(?.+)\.a\.com$;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,804评论 24 1,002
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,997评论 19 139
  • 1.ngnix介绍 ngnix www服务软件 俄罗斯人开发 开源 性能很高 本身是一款静态WWW软件 静态小文件...
    逗比punk阅读 2,131评论 1 6
  • 阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。 抽象来说,将 Nginx 配置为...
    思梦PHP阅读 1,366评论 2 10
  • 配置运行Nginx服务器用户(组) 用于配置运行Nginx服务器用户(组)的指令是user,其语法格式为: use...
    吃瓜的东阅读 4,548评论 0 41