栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

案例:nginx同一端口多service

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

案例:nginx同一端口多service

温故而知新,可以为师矣!

1、问题出现场景

    要求访问http://www.xxx.com的http协议二级域名、访问https://www.xxx.com的https协议的二级域名、访问http://xxx.com和访问https://xxx.com的顶级域名都能访问到同一资源且只能由域名来进行资源访问,但是实际访问过程中,使用顶级域名访问的时候并没有被代理到需要的资源上。

    因为本地测试没有SSL证书的原因,不对http和https的访问做出测试只针对二级域名和顶级域名访问资源做测试

2、问题复现

正常访问情况是:

访问http://www.dongzi.com和http://dongzi.com能访问到下图所示资源


访问http://www.dongzi2.com和http://dongzi2.com能访问到下图所示资源


    可实际情况不然!因为域名www.dongzi.com所定位的资源在服务中不能被修改,而想要定位其他资源只能另外解析域名来进行资源定位,故出现需要访问域名http://www.dongzi2.com和http://dongzi2.com定位到如下资源才算是成功。


实际出现结果是:

访问http://www.dongzi2.com资源定位正常,访问http://dongzi2.com的时候出现资源定位错误,如下图所示:


资源被定位到了其他页面!!! 这是为什么呢?

3、出现问题时主机(windows)域名解析、Nginx代理相关配置

hosts配置

127.0.0.1       www.dongzi.com dongzi.com
127.0.0.1       www.dongzi2.com dongzi2.com

nginx配置

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    
	server {
		listen       80;
        server_name  www.dongzi.com;
		
		location / {
			alias D:/html/t1/;
			index index.html;
		}
	}
	server {
		listen       80;
        server_name  www.dongzi2.com;
		
		location / {
			alias D:/html/t2/;
			index index.html;
		}	
	}
}

4、问题解决,修改Nginx代理配置

在代理主机server_name处加一个主机名配置:

server_name 	www.donngzi2.com dongzi2.com;

重新加载Nginx配置文件后,问题解决!此时访问dongzi2.com域名能正常访问到T2页面

5、问题出现原因

  • 在nginx的server_name找不到服务名的时候,会首先访问默认服务名default_server,如果未配置默认服务名此时会访问到第一个配置的服务名的资源。上面配置可以看出,第一个服务名访问的资源正是T1资源,这也就解释了为什么访问顶级域名的时候得到T1资源,因为dongzi2.com的server_name未被配置,也没有默认的default_server,所以访问到了第一个server_name对应的资源。

附:

  • windows系统设置本地文件DNS域名解析hosts文件修改
  • nginx同时支持http和htts访问配置
  • nginx多个server_name如何匹配
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941798.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号