nginx虚拟主机配置

作者: wjxjuwnnnc | 来源:发表于2018-04-08 23:34 被阅读0次

一、前景提要

最近在工作中遇到一个坑,之前配置了很多次nginx虚拟主机及多级代理,自以为对这块已经很了解了,但前几天在和京东做对接的时候,发现完全被整蒙圈了,配了多个虚拟主机,不知道默认走那个了,多加一个又会影响之前的,少加一个,新的接口又不生效,后来又分析了下,之所以会乱,也是因为调用方也是多样的,有直接IP的,有直接域名的,还有二级代理的,nginx虚拟主机对访问的地址有严格的匹配规则,好多人都说ip和域名不都是同一个机子吗,但对于nginx虚拟主机来说,IP和域名是两个不同的server。

二、真实环境简述

A1侧(调用方1) 

A2侧(调用方2)

A3侧(调用方3)

B侧(中转侧,直接IP)

C侧(服务代理提供侧)

D侧(后端服务)

A1侧通过B转到C侧,再通过C侧调用D侧后端服务

A2侧访问C侧IP,再通过C侧调用D侧后端服务

A3侧访问C侧域名,再通过C侧调用D侧后端服务

三、虚拟主机配置注意事项

1、建议如果配置了include ,则nginx.conf 里不要在添加server,不然include 放在server前和server后也有影响;

2、如果之前已经在nginx.conf 里配置了server,后续要添加采用include添加server,时,include如果放在server前面:情况如下:

    2.1 如果nginx.conf 里只有一个server,则只要访问的url能到达该nginx主机,都会走这个server匹配

    2.2 如果nginx.conf里有多个server,如果url的host地址匹配该server_name 则走该server,如果不匹配,则走第一个server;

    2.3 如果nginx.conf里include指定的vhosts目录里有****.conf,则会优先匹配该conf文件的server,如果vhosts有多个conf文件,则匹配不到的都默认走该vhosts目录下第一个文件,并且不会走nginx.conf文件里的server

3、如果之前已经在nginx.conf 里配置了server,后续要添加采用include添加server,时,include如果放在server之后:情况如下:

    3.1 如果vhosts目录没有conf文件,则默认匹配nginx.conf 里的server,且第一个server为默认匹配

    3.2 如果vhosts目录有conf文件,如果匹配到vhosts目录下的server ,则走该配置,如果匹配不到,则走nginx.conf里的第一个server

综上,如果采用include配置多虚拟主机,建议nginx.conf 文件里不要再配置server,统一配置到vhosts目录下去

4、二次跳转如何配置server

经多次实验,不管中间经过几次代理,最终的nginx匹配只认原始的url地址,如果目标nginx有该server则匹配,没有则走默认

相关文章

  • nginx

    nginx的配置、虚拟主机、负载均衡和反向代理一nginx的配置、虚拟主机、负载均衡和反向代理二nginx的配置、...

  • Nginx 虚拟主机配置和日志管理 [2]

    一、nginx虚拟主机配置 Nginx虚拟主机对应的文件实体就是/usr/local/nginx/nginx.co...

  • Nginx

    安装Nginx 配置虚拟主机

  • nginx2-路由

    1.nginx管理虚拟主机 基于域名虚拟主机配置 基于端口虚拟主机配置 基于ip虚拟主机配置 2.Location...

  • Nginx虚拟主机与安全认证实战

    知识要点: 配置Nginx虚拟主机实践 安全认证实践 安装验证 Nginx虚拟主机配置讲解 讲解配置之前我们要了解...

  • Nginx——虚拟主机配置

    基于域名的虚拟主机 基于端口的虚拟主机 基于IP的虚拟主机nginx的主配置文件/etc/nginx/nginx....

  • Nginx 常用配置

    1. Nginx 配置虚拟主机 1.1 基于 IP 的虚拟主机 修改配置文件 nginx.conf 重启服务 测试...

  • Nginx 虚拟主机

    什么是虚拟主机 Nginx 配置文件的结构 基于 IP 的虚拟主机配置 基于端口的虚拟主机配置 基于域名的虚拟主机...

  • nginx 403 forbidden

    首先确保虚拟主机路径配置正确 nginx django .conf 配置nginx python Django 集...

  • Nginx location

    上一篇 Nginx 虚拟主机 Nginx location  在 nginx 的配置文件中,经常可以看到虚拟主机配...

网友评论

    本文标题:nginx虚拟主机配置

    本文链接:https://www.haomeiwen.com/subject/pvdvhftx.html