在生產(chǎn)環(huán)境中Nginx有很多安全方案,我在為生產(chǎn)環(huán)境部署中得到很多經(jīng)驗(yàn),收集到的一些常用配置,簡(jiǎn)單記錄一下。
安裝Nginx
正常安全Nginx大家應(yīng)該都會(huì),但是各位要知道在安全要求很高的生產(chǎn)環(huán)境中,是無(wú)網(wǎng)絡(luò)安裝的,(當(dāng)然有些有內(nèi)網(wǎng)源就簡(jiǎn)單很多了),所以要自己上傳文件上去安裝,缺什么依賴沒法用命令安裝像是yum install或者apt-get install是無(wú)法使用的,這里簡(jiǎn)單說(shuō)下,等有空再詳細(xì)說(shuō)下無(wú)網(wǎng)絡(luò)安裝,這里簡(jiǎn)單說(shuō)下。
下載編譯需要的庫(kù)源碼
安裝順序編譯安裝以下庫(kù)源碼即可安裝Nginx
- openssl
- pcre
- zlib
- Nginx
注意Nginx安裝的時(shí)候配置下需要的庫(kù)免得到時(shí)候重新編譯安裝
cd nginx-1.21.6
./configure --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-stream
make
make install
這樣Nginx就算是安裝好了 默認(rèn)安裝路徑在/usr/local/nginx
隱藏版本號(hào)
正常Nginx默認(rèn)配置是會(huì)顯示版本號(hào)的信息的如下

只需要在Nginx配置文件中(如nginx.conf)的http{}加入以下參數(shù)即可
#隱藏版本號(hào)
server_tokens off;
然后顯示就是這樣的

完全不顯示Nginx
這個(gè)需要修改Nginx源碼來(lái)實(shí)現(xiàn),具體可以google搜下
防止被嵌套iframe
在location /下加入以下屬性即可
# 拒絕IFrame嵌套
add_header X-Frame-Options SAMEORIGIN;
限制ip訪問
同樣在location /下加入以下屬性即可
# 限制IP訪問
allow 192.168.1.0/24;
allow 這里填I(lǐng)P;
deny all;
防盜連
這個(gè)是這次部署中了解到的技術(shù),之前還真不知道有這功能 說(shuō)白了就是防止別的ip或者域名訪問靜態(tài)資源,比如壁紙,總不能部署的壁紙被別人拿去免費(fèi)當(dāng)圖床吧?
在http{}下加入如下配置
# 防盜連
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
root html;
valid_referers none blocked rakers.top; # 這里填寫允許的IP或域名
if ($invalid_referer) {
rewrite ^/ http://127.0.0.1/; #這里填資源地址ip或域名
#return 404;
}
}
版權(quán)聲明:本文為「誠(chéng)哥博客」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:
https://www.chengzz.com/497.html