标签:nginx禁止公网访问 绑定端口
公司有2个阿里云公网SLB
以及一些ECS 云主机
有些核心应用服务器不想公网能访问到。
刚开始是做iptables,后来发现开启iptables之后,导致DNS解析不正常。因为RDS是域名访问的,所以后来就关闭掉了iptables。
后来建议用Nginx的访问白名单来做。发现access.log文件,显示的都是内网IP地址。公网IP地址没有发现,可能是没有人访问的原因(正常业务是通过内网访问的)。
最后我发现Nginx可以绑定监听地址的,如果只绑定内网IP,那么公网是无法访问的。
我测试了下,发现果然公网无法访问,只有内网可以访问。
默认的nginx.conf里面的server字段都删除掉了,所有配置文件都在vhosts文件夹里面。
但是里面有十几个配置文件,一个个改太麻烦了。
我直接一键替换了。
cd /usr/local/nginx/conf/vhosts/
sed -i ‘2s/80/10.171.254.184:80/g‘ *.conf
完成代码如下:
server {
listen 10.171.254.184:80;
server_name address.xx.com;
root /www/address/web/www;
index index.php index.html index.htm;
location / {
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
注意,nginx必须要先关闭,再次开启可以使本次配置生效。
直接reload是不行的,我测试过
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s start
查看监听端口
netstat -anpt | grep nginx
测试访问
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1653963
标签:nginx禁止公网访问 绑定端口
原文地址:http://xiao987334176.blog.51cto.com/2202382/1653963