Nginx防止直接用IP訪問Web服務器設置方法
看了很多Nginx的配置,好像都忽略了ip直接訪問(wèn)Web的問題,這(zhè)樣理論上不利於SEO優化(huà),所(suǒ)以我們希望可以(yǐ)避免直接用IP訪問網站,而是域名訪問,具體(tǐ)怎麽做呢,看下麵。
官方文檔中提供的方(fāng)法:
If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests:
server {
listen 80 default_server;
server_name _;
return 444;
}
說白了就(jiù)是隻要是訪客用ip訪問就直接重置444錯誤。但是這樣好像又不太(tài)友好,如果能直接給跳轉到該web server的網址(zhǐ)就好了。配置如下:
server {
listen 80 default_server;
server_name _;
rewrite ^ http://www.domain.com$request_uri?;
}
這樣還是有一點(diǎn)問(wèn)題,某些特別的(de)地址,我需要用ip訪問,其他的都禁止,如何配置呢?比如說(shuō)我想讓監控寶直接用ip訪問我的機器的nginx狀態信息,其他的用(yòng)ip訪問的所有請(qǐng)求都跳轉到域名上。
server {
listen 80 default_server;
server_name _;
locations /xxxxx{
stub_status on;
access_log off;
}
locations /{
rewrite ^ http://www.domain.com$request_uri?;
}
}
這樣就實現了(le)我們想要的功能了。
關鍵詞:Nginx,Web服務器
閱讀本文後您有什麽感想? 已有(yǒu) 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0