我已經Nginx在一個新的 EC2 實體(Amazon Linux 2)上安裝了一個基本的組態檔:
server {
listen 80;
listen [::]:80;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name atlasalgorithms.kadiemqazzaz.com;
location / {
try_files $uri $uri/ =404;
}
}
現在Nginx兩者都服務http://atlasalgorithms.kadiemqazzaz.com,http://kadiemqazzaz.com但我只想Nginx服務http://atlasalgorithms.kadiemqazzaz.com。
我只atlasalgorithms.kadiemqazzaz.com在宣告中宣告了,server_name所以我錯過了什么?
uj5u.com熱心網友回復:
該規則server_name atlasalgorithms.kadiemqazzaz.com;實際上只是匹配http://atlasalgorithms.kadiemqazzaz.com。
但是 conf 檔案中只有一個 server 塊。這意味著它也用作default服務器。因為,http://kadiemqazzaz.com不匹配,請求被路由到默認服務器塊。
nginx 只測驗請求的頭部欄位“Host”來確定請求應該被路由到哪個服務器。如果它的值不匹配任何服務器名稱,或者請求根本不包含這個頭欄位,那么 nginx 會將請求路由到默認服務器
在此處閱讀有關 nginx 請求路由的更多資訊。
如果你需要不同的路由http://kadiemqazzaz.com,你應該有另一個定義不同規則的服務器塊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/507695.html
標籤:nginx
上一篇:提供來自NGINX的影像
