在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Linux/ Nginx 二級(jí)域名混亂

Nginx 二級(jí)域名混亂

剛開(kāi)始有以上網(wǎng)站配置如下,這時(shí)候各網(wǎng)站功能正常

server{
    listen 80;
    server_name  www.xx.com xx.com;# http跳https,自動(dòng)加 www
    return 301 https://www.xx.com$request_uri;
}
server {
    listen 443 ssl;
    server_name www.xx.com;
}
server {
    listen 443 ssl;
    server_name api.xx.com;
}
server {
    listen 443 ssl;
    server_name admin.xx.com;
}

當(dāng)某天我加了以下網(wǎng)站,問(wèn)題就來(lái)了

server {
    listen 443 ssl;
    server_name bt.xx.com;
}

當(dāng)訪問(wèn) bt.xx.com 結(jié)果訪問(wèn)的是 admin.xx.com
關(guān)掉admin.xx.com ,訪問(wèn) bt.xx.com 結(jié)果訪問(wèn)的是 www.xx.com
關(guān)掉其他所有 ,訪問(wèn) bt.xx.com 結(jié)果正常
這個(gè)問(wèn)題以前也遇到過(guò),但莫名其妙的好了,沒(méi)有細(xì)究,今天又碰到,google了一個(gè)種還沒(méi)解決,求解


又發(fā)現(xiàn)一個(gè)問(wèn)題
關(guān)閉www.xx.com,訪問(wèn) www.xx.com 結(jié)果是 admin.xx.com
關(guān)閉www.xx.comadmin.xx.com,訪問(wèn) www.xx.com 結(jié)果是api.xx.com
似乎是關(guān)閉www.xx.com,再訪問(wèn)它的時(shí)候,他會(huì)自動(dòng)轉(zhuǎn)向子域名中某一個(gè)

回答
編輯回答
孤酒
  1. 當(dāng)訪問(wèn)一個(gè)沒(méi)有配置的主機(jī)名的時(shí)候,nginx會(huì)按以下順序查找:

    1. 這個(gè)socket里的default_server;
    2. 這個(gè)socket里的server_name _;
    3. 這個(gè)socket里按配置文件排序的第一個(gè)server
  2. 所以,關(guān)閉某些域名,再訪問(wèn)這個(gè)域名,就會(huì)按照第1點(diǎn)去匹配
  3. 按理不會(huì)出現(xiàn)bt.xx.com這個(gè)問(wèn)題,原因可能是配置沒(méi)有reload,訪問(wèn)錯(cuò)端口之類的。
  4. 碰到這種問(wèn)題,直接看access_log或者debug_log就行。
2018年2月14日 12:56
編輯回答
笑浮塵

nginx配置文件后面沒(méi)加分號(hào)導(dǎo)致的

;

我猜的。。之前一個(gè)朋友也是碰到這個(gè)問(wèn)題了。

2017年11月26日 00:15