在生产环境中nginx有很多安全方案,我在为生产环境部署中得到很多经验,收集到的一些常用配置,简单记录一下。
安装Nginx
正常安全Nginx大家应该都会,但是各位要知道在安全要求很高的生产环境中,是无网络安装的,(当然有些有内网源就简单很多了),所以要自己上传文件上去安装,缺什么依赖没法用命令安装像是yum install或者apt-get install是无法使用的,这里简单说下,等有空再详细说下无网络安装,这里简单说下。
下载编译需要的库源码
安装顺序编译安装以下库源码即可安装Nginx
- openssl
- pcre
- zlib
- Nginx
注意Nginx安装的时候配置下需要的库免得到时候重新编译安装
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就算是安装好了 默认安装路径在/usr/local/nginx
隐藏版本号
正常Nginx默认配置是会显示版本号的信息的如下
只需要在Nginx配置文件中(如nginx.conf)的http{}加入以下参数即可
#隐藏版本号
server_tokens?off;
然后显示就是这样的
完全不显示Nginx
这个需要修改Nginx源码来实现,具体可以Google搜下
防止被嵌套iframe
在location /下加入以下属性即可
#?拒绝IFrame嵌套
add_header?X-Frame-Options?SAMEORIGIN;
限制ip访问
同样在location /下加入以下属性即可
#?限制IP访问
allow?192.168.1.0/24;
allow?这里填IP;
deny?all;
防盗连
这个是这次部署中了解到的技术,之前还真不知道有这功能 说白了就是防止别的ip或者域名访问静态资源,比如壁纸,总不能部署的壁纸被别人拿去免费当图床吧?
在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;
????}
}
版权声明:本文为「诚哥博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://www.chengzz.com/497.html