今天要在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...