Category: nginx

如何屏蔽国人访问网站

如何屏蔽国人访问网站

有些外贸网站, 很多时候会禁止国人访问。因为国人访问,一方面带来了服务器压力,另一方面可能觉得自己的外贸网站产品不想被国人抄袭。总之,多种原因吧。 屏蔽国人访问有两种常用的方法:1.屏蔽国人ip(一般翻墙就可以解决)2,屏蔽国人浏览器(此方法可以通过浏览器设置来解决) 刚好,我也做了一个小站,不想让国人访问。我觉得屏蔽国人浏览器比较简单,而且很多国人都不知道所以然,任他换各国的vpn也访问不了。下面说一下这个方法(针对nginx 服务器的方法): 原理很简单:浏览器请求网站的时候,会给服务器发送一个请求头(Request Headers)信息。其中头信息里包含一个:Accept-Language:”zh-CN,zh;(中文浏览器就是zh-CN,zh.英文浏览器是:en-US,en)。只需要nginx服务器根据头信息里是否出现zh就可以屏蔽掉。 所以如果要在Nginx中阻止屏蔽浏览器访问,可以在Server中加入(记得重启nginx): if ($http_accept_language ~* ^zh) { return 404;} 关于ip屏蔽, 感觉比较麻烦。自己也没尝试过。就复制一下网上的方法做以后备用参考: 在Nginx中阻止屏蔽中国IP访问 #下载中国IP库 wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone #运行以下脚本 #!/bin/bash COUNTRY = “cn” IPTABLES = /sbin/iptables EGREP = /bin/egrep if [...

Nginx下二级目录wordpress网站伪静态

Nginx下二级目录wordpress网站伪静态

当wordpress网站web服务器是nginx的时候,rewrite不像Apache那样自动加载。需要手动在nginx进行配置。当然不仅仅是wordpress,那些需要进行url重写的程序,都要对网站的nginx配置文件修改。 如果wordpress使用的默认连接格式,就是不进行重写,网站其实也没有太大的问题,只是url格式不太符合SEO。但是,你如果想让wordpress用自定义的链接格式,那么就需要对nginx重写进行配置。不然,wordpress的文章页面就会出现404错误。 先说一下当wordpress程序在根目录的时候的配置: 在nginx配置目录下建一个wordpress.conf文件,格式如下: if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } 然后在网站的配置文件里包含此文件,一般网站配置文件的命名格式都是 域名.conf: include wordpress.conf; 重启Nginx即可。 若是wordpress在二级目录下,那么只需要对上面步骤里的wordpress.conf进行改变即可: location /wordpress/...