Nginx 禁止IP訪問 只允許網域名稱訪問

2021-08-15 14:52:49 字數 719 閱讀 9230

今天要在nginx上設定禁止通過ip訪問伺服器,只能通過網域名稱訪問,這樣做是為了避免別人把未備案的網域名稱解析到自己的伺服器ip而導致伺服器被斷網,從網路上搜到以下解決方案:

nginx的預設虛擬主機在使用者通過ip訪問,或者通過未設定的網域名稱訪問(比如有人把他自己的網域名稱指向了你的ip)的時候生效

最關鍵的一點是,在server的設定裡面新增這一行:

listen 80 default;

後面的default引數表示這個是預設虛擬主機。

這個設定非常有用。

比如別人通過ip或者未知網域名稱訪問你的**的時候,你希望禁止顯示任何有效內容,可以給他返回500.

server 

server 

******************************

按照如上設定後,確實不能通過ip訪問伺服器了,但是在應該用中出現當server_name後跟多個網域名稱時,其中乙個網域名稱怎麼都無法訪問:

設定如下:

server

或者

server 

這樣,通過

exchangecn

.com就能訪問伺服器了,問題解決了,但具體原因還是不清楚。

第一種情況:訪問a站定向到b站

server 

第二種情況:不是訪問a站的全部重定向到指定頁面

server  }

如果寫在第乙個server段

使用ip訪問時也將被重定向

nginx只允許網域名稱訪問,禁止ip訪問

背景 為什麼要禁止ip訪問頁面呢?這樣做是為了避免其他人把未備案的網域名稱解析到自己的伺服器ip,而導致伺服器被斷網,我們可以通過禁止使用ip訪問的方法,防止此類事情的發生。解決方法 這裡介紹修改配置檔案nginx.conf兩種方法 1 在server段裡插入如下正則 listen 80 serve...

nginx只允許網域名稱訪問,禁止ip訪問

背景 為什麼要禁止ip訪問頁面呢?這樣做是為了避免其他人把未備案的網域名稱解析到自己的伺服器ip,而導致伺服器被斷網,我們可以通過禁止使用ip訪問的方法,防止此類事情的發生。解決方法 這裡介紹修改配置檔案nginx.conf兩種方法 1 在server段裡插入如下正則 listen 80 serve...

nginx只允許網域名稱訪問,禁止ip訪問

背景 為什麼要禁止ip訪問頁面呢?這樣做是為了避免其他人把未備案的網域名稱解析到自己的伺服器ip,而導致伺服器被斷網,我們可以通過禁止使用ip訪問的方法,防止此類事情的發生。解決方法 這裡介紹修改配置檔案nginx.conf兩種方法 1 在server段裡插入如下正則 listen 80 serve...