说明:之前介绍过Nginx安装和负载均衡的使用(参考:Nginx使用),本文补充介绍Nginx的一些用法
隐藏Nginx版本信息
正常情况,可在Nginx代理的请求中查看到当前Nginx的版本信息,如下:

可通过在Nginx配置中增加以下配置项,隐藏Nginx的版本信息,提高系统安全性;
server_tokens off;
 

添加后,重新加载配置,再看,请求中就隐去了Nginx的版本;

设置黑名单
配置文件中,设置以下配置项,可禁止指定IP地址访问;
location / { 
	deny 10.0.0.1; 
}
 

本机访问没有问题;

用被禁止的另一台服务器访问,被拒绝(403);

与deny指令对应的是allow,表示允许访问的IP地址,比如仅允许制定IP地址访问,就可以这样配置;
location / { 
	allow 允许访问的IP; 
	deny all;
}
 

以上配置,本机访问就403了,指定的另一台服务器访问就OK。


需要注意配置顺序,限制需要从小到大,如果第一行是deny all;后面的allow指令都不会生效了。另外,这两个指令可以放在http标签内,表示全局配置,对所有server生效,也可以放在指定的location里,仅拒绝/允许访问该代理的请求,并且可以指定被拒绝时返回的页面,非常灵活。
还支持IPv6,如下,是官网电子书提供的样例;

设置备份服务器
可在负载均衡配置中,增加以下配置,指定主服务器不可用时发挥作用;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
	server_tokens off;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
	
	upstream backend {
		server 127.0.0.1:8081 weight=1;
		server 127.0.0.1:8082 weight=2;
		server 127.0.0.1:8083 backup;
	}
    server {
        listen       80;
        server_name  localhost;
        location /hello {
			proxy_pass http://backend/hello;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
 
如上,当8081、8082端口对应的服务器无法使用时,可访问到备用的8083端口对应的服务器。如下,创建一个简单的项目,三个实例,对应三个端口:

启动后,访问页面,如下,反复刷新,可见8081、8082端口呈1:2比例出现,但不见8083;

此时,停止8081、8082端口对应的服务,模拟宕机,再次访问页面;

反复刷新,只见8083

总结
本文部分参考官网提供的电子书《Nginx完全指南》,可在Nginx中文官方网站填写相关信息获取,或者私信我,我转发一份给你。





![[算法][前缀和] [leetcode]724. 寻找数组的中心下标](https://img-blog.csdnimg.cn/direct/144f9617265b4ea1903495c20e8a474b.gif#pic_center)


![[DDR5 Jedec 3]DDR5 SDRAM 状态图 和 基本功能](https://img-blog.csdnimg.cn/direct/1539e07b5b744855a7397a81e7b8ae6f.png)










