在有得项目中,我们会希望端口只有特定的用户可以访问,这时候就需要配置nginx的白名单,接来下展示一下白名单的配置和应用
vi /etc/nginx/nginx.conf
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
allow 10.1.60.115; #允许源地址为10.1.60.115地址访问
allow 10.1.60.118; #允许源地址为10.1.60.118地址访问
deny all; #拒绝所有地址访问
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
此处使用nginx的默认80端口的配置,再加上白名单限制访问的地址,这里仅让两个地址可以访问到80端口的服务,其余地址的访问均拒绝
优雅重载nginx配置
nginx -s reload
通过不同的地址访问nginx查看效果
通过以上的结果对比可以看到,只有配置了白名单的ip地址可以访问nginx服务,其余的不在白名单内的地址都是拒绝访问
为了方便使用,我们可以将白名单另外做成一个配置文件,让nginx.conf配置文件去调用
vi /etc/nginx/white_ip.conf
allow 10.1.13.252;
allow 10.1.60.115;
vi /etc/nginx/nginx.conf
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
include /etc/nginx/white.conf; #调用白名单配置文件获取白名单信息
deny all; #拒绝所有地址访问
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
优雅重载nginx配置
nginx -s reload