文章nginx禁止ip直接访问网站
Hokori由于ip暴露出来,很容易使得服务器被攻击,因此需要禁止ip直接访问网站,我从度娘上找到了一些配置,并且试验了一番,特此将其整合一下,以应对各种
禁止ip访问,报错处理
有时候我们需要直接对通过ip进行访问的网站进行屏蔽,因此需要配置nginx.conf文件:
1 2 3 4 5 6 7
| server{ listen 80; server_name localhost; if ( $host = '192.168.1.10' ){ return 403; } }
|
if后面需要有空格,否则会报错
禁止ip访问,跳转处理
有时候不希望直接报错,而希望跳转到自己想要的页面(一般是跳转到ip绑定的对应域名上),因此我们也需要做相应的配置,而如下代码是经测试后确实有效的代码:
1 2 3 4 5 6 7
| server{ listen 80; server_name localhost; if ( $host = '192.168.1.10' ){ return 301 http://www.yechuchen.cn; } }
|
网上代码多为如下,但是经测试无效,不知是我配置没有做好抑或是其他原因而导致的:
1 2 3 4 5 6 7 8 9
| server{ listen 80; server_name localhost; if ( $host = '192.168.1.10' ){ rewrite ^(.*) http://www.yechuchen.cn permanent; #rewrite ^/(.*)$ http://www.yechuchen.cn/$1 permanent; rewrite http://www.yechuchen.cn permanent; } }
|