Nginx实战部署常用功能演示(超详细版),绝对给力~~~ (3)

这里演示配置的内容如下(新增一个server块,专门配置SSL的):

server { # https 监听的是443端口 listen 443 ssl; # 指定准备好的域名 server_name codezyq.cn; # 指定证书路径,这里需要把准备好的证书放到此目录 ssl_certificate /usr/local/nginx/myssl/codezyq.cn.pem; ssl_certificate_key /usr/local/nginx/myssl/codezyq.cn.key; ssl_session_cache shared:SSL:1m; # 超时时间 ssl_session_timeout 5m; # 表示使用的加密套件的类型 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 表示使用的TLS协议的类型 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location /www/ { root static; index index.html index.htm; } }

重启nginx,然后进行https访问对应的连接就可以啦

注:网站如果没有备案,会被拦截,会导致不能访问,正规站点都是要备案的

3. 防盗链配置

盗链通俗一点的理解就是别人的网站使用自己服务器的资源,比如常见的在一个网站引入其他站点服务器的图片等资源,这样被盗链的服务器带宽等资源就会额外被消耗,在一定程度上会损害被盗链方的利益,所以防盗链是必要的;这里通过nginx简单实现静态资源防盗链的案例,原理很简单,就是判断一下请求源是否被允许。

3.1 准备一个html和图片

将准备的html和图片放在创建的static目录下,如下图:

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

anti-stealing-link.html内容如下

<!DOCTYPE html> <html> <head> <title>anti-stealing-link test</title> </head> <body> <h2>使用云服务器上的图片</h2> <!-- 访问服务器图片 --> <img src="http://47.113.204.41/img/test.jpg" alt=""> </body> </html> 3.2 正常配置nginx server { listen 80; server_name 47.113.204.41; # 针对html访问的匹配规则 location /www/ { root static; index index.html index.htm; } # 针对图片访问的匹配规则 location /img/ { root static; } charset utf-8; }

运行起来看效果:

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

现在有个需求,只能是云服务器的html才能使用图片,其他引用源都认为是盗链,直接返回403或重写到固定图片。

3.3 轻松配置nginx防盗链

针对img配置如下:

server { listen 80; server_name 47.113.204.41; # 针对html访问的匹配规则 location /www/ { root static; index index.html index.htm; } # 针对图片访问的匹配规则 location /img/ { root static; #对源站点的验证,验证IP是否是47.113.204.41 #可以输入域名,多个空格隔开 valid_referers 47.113.204.41; #非法引入会进入下方判断 if ($invalid_referer) { #这里返回403,也可以rewrite到其他图片 return 403; } } charset utf-8; }

重启nginx,清除缓存再试:

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

防盗链是不是很简单,也可以通过代码的形式,比如在过滤器或管道中也可以实现,如果没有特殊需求,nginx稍微一配置就能实现,岂不美哉~~~

4. 隐藏版本信息

之前在项目中做渗透测试时,其中有一项问题就是不希望在响应头中体现服务器相关版本,避免在某些版本出现漏洞时,攻击者可以特意针对此版本进行恶意攻击,从而影响系统服务可用性。

现有情况:

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

页面找不到时:

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

看看nginx是如何关闭,如下配置:

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

看效果:

正常访问

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

找不到报错,版本也没有啦

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

5. 高可用配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjzyg.html