存档

文章标签 ‘nginx’

LNMP一键包 nginx防盗链valid_referers使用方法

Aug 22nd Tue, 2017/JiaJieChan/折腾/312 阅读/没有评论

转这篇文章是今天要给ao.ci的mp4视频配置个防盗链,试了一个小时期间各种升级nginx编译nginx加模块等等,最后才发现是一个空格惹出来的。大家可以借鉴一下。

nginx防盗链有两种这里只介绍nginx自带的valid_referers防盗链。

防盗链的一般方法是在server或者location段中加入如下格式代码:

valid_referers   none  blocked  server_names

其中 none表示空的来路,也就是直接访问,比如直接在浏览器打开一个图片。blocked表示被防火墙标记过的来路,server_names是域名,可以用*.demo.com来表示所有的二级域名。

Read More...

分类: 折腾 标签: , , ,

Nginx中实现if多重判断写法

Aug 9th Fri, 2013/JiaJieChan/折腾/1,426 阅读/没有评论
写Nginx.conf的朋友也会经常用到if判断,这里的格式跟php里的有点不同。以下是多重if判断的书写格式方法。特意转回来给路过的朋友看看,顺便做个归档已备用日后参考。自己从中理解使用方法吧。有一点基础的都应该看得懂的。

使用nginx的朋友可能都知道nginx的if语法比较严格,并且还没and && || 这类写法,如果你想多重判断我们就只能想其它办法了,下面我来给大介绍一种投机倒把另外想办法实现多重判断,方法介绍有需要了解的朋友可参考。

[code lang="xml" title="代码片段一"]
if ($request_uri ~ "xxx.php?xxx") {
set $iftmp Y;
}
if ($http_user_agent ~ "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)") {
set $iftmp "${iftmp}Y";
}
if ($iftmp = YY) { return 400;}
location / {
proxy_pass https://172.0.0.11;
}

重点一 set $iftmp Y 将iftmp设置为Y,set命令是一个大大的亮点
Read More...

分类: 折腾 标签: , ,

就近的事使我悟出个道理结论 脑残QQ号1034385586

Aug 9th Fri, 2013/JiaJieChan/日志/1,291 阅读/9 comments

声明# 这句话可是我即兴得出的道理,就是“90后不是脑残,只是太多脑残都为90后。”

By ,JiaJieChan #如有雷同实属巧合。

前几天遇到一个QQ,向我拿主题,来过我站的童鞋应该都知道我一直都是用mg12的INOVE,有个脑残向我拿这个修改过的主题,也因为修改的太多,经历了太多的修改了,是绝对不会这么轻易的给的,收回点手续费也是应该的吧。可是他就用攻击来威胁我,不给他主题就来攻击我。你们说怎么还有这总脑残啊。INOVE都是免费的,你不接受我的条件那就自己去下载自行修改啊。

这几天都被CC攻击,这也就是服务器最近经常502的原因了。

当然攻击的途中我也有一群朋友帮忙的,大家都看了他的空间,知道此脑残是靠攻击来炫耀自己,有事没事的就去攻击别人。一个主题至于吗,现在的人啊真是无聊透了。我喜欢好的黑客,讨厌恶意破坏的骇客。只怪目前的CC公鸡使用简单,都封装成一个工具了。继续向他展开攻击? 我才不会呢,第一又要麻烦别人,第二今天找东西的时候在某人的博客看的一句熟悉的话“冤冤相报何时了”忘记是哪个博主了,不好意思。
Read More...

Nginx指定IP绑定域名方法

Dec 17th Sat, 2011/JiaJieChan/折腾/1,727 阅读/没有评论

以前写过怎么把未授权的域名指向禁止并返回错误信息,今天教大家将指定的IP与域名绑定,实现所有指向该IP的域名都绑定到一个目录,或跳转到指定的地址。

对于拥有多个独立IP的VPS,可能会建很多的站,而其他会有一些比较独立的网站,像Dz(整合版)、WP(多用户版),需要泛解析对所有指向指定IP的域名进行处理。下面就介绍今天的方法。

这个方法是今天弄WP多用户版找到的,一直两个网站的都有IP指向,那就需要将不同的IP进行跳转等操作。下面的例子是,将指向到21.0.0.1的未授权域名跳转到广告页,将指向21.0.0.2的域名绑定到/home/web135目录,将其他所有未授权的域名返回403错误(指向除以上两个IP外的所有本机拥有的IP都跳转)。

打开nginx的配置文件 nginx.conf , Read More...

分类: 折腾 标签: , , , ,

nginx禁止未授权未绑定的域名访问

Nov 13th Sun, 2011/JiaJieChan/折腾/5,558 阅读/没有评论

(本站原创文章,部分资料来自互联网)

我今日查到有一些域名指向到我的VPS。为了防止其他域名包括未备案等域名的指向,而使IP受到不必要的麻烦,因此需要将没有绑定的域名禁止访问或跳转到其他页面。可以用下面的方法实现。

编辑 nginx.conf 配置文件;

禁止所有未授权域名及IP访问

添加一条规则如下

server {
listen 80 default;
server_name _;
return 403;
}

说明
设置默认ip的80端口下的所有为绑定域名访问后,返回403错误。

 

禁止未授权域名访问  允许服务器IP的访问

上面的规则会出现用IP访问网站也会出现500错误,下面就来解决这个问题,以便用户使用一些通用的管理平台,如phpmyadmin管理等。一般这些管理工具都是使用服务器ip来访问的,如果禁止了IP,那样就需要用域名来访问,这个很不方便。下面有方法解决。 在默认的网站上,或在相关域名绑定规则里加入这个代码; 在 server_name 后面加入要使用的服务器IP,如下; Read More...

nginx子目录301重定向到其他域名URL

Aug 22nd Mon, 2011/JiaJieChan/折腾/2,759 阅读/2 comments

今天找了找网上的nginx 301代码,发现不是不生效就是错误,几经修改才成功。下面发一个基于nginx的子目录301到其他域名(URL)的规则。作用是例如访问http://blog.jiajieit.net/gq/ (有杠和没杠是不同的,下面的代码中可以看出来),自动301到 http://gq.jiajieit.net 。

下面我来解释一下代码,只是基本的代码。下面“location ~* ^/gq/ {” 里的/gq/是指访问 http://当前域名/gq/ 跳转到新域名的意思,反之把后面的杠去掉就是访问http://当前域名/gq 跳转到新域名的意思。

“rewrite ^/gq/(.*)$”中的/gq/同上。中间的域名是指要跳转的域名或URL。前面的 $ 是指原地址后面的所有路径,后面的 $1 同上,也就是说跳转后所有路径不变,只是前面的域名变了。

location ~* ^/gq/ {
rewrite ^/gq/(.*)$ http://gq.jiajieit.net/$1 permanent;
}

下面说一下使用方法:

进入Linux,找到/usr/local/nginx/conf下的nginx.conf,把代码插入到server片区的location之间,推荐使用SFTP上传和下载。

按上面的格式添加并保存后上传。

最后重启一下nginx;

/usr/local/nginx/sbin/nginx -s  reload

lnmp使用技巧, 常见问题解决方法

Aug 21st Sun, 2011/JiaJieChan/折腾/1,128 阅读/没有评论

对于大部分新手来说,都是使用centOS+Licess的lnmp一键安装包的吧(其实lnmp意思就是Linux+nginx+mysql+php)。本文中的方法也是基于该环境来实现的。在折腾lnmp的过程中,我也遇到了一系列的问题,下面对这些问题作一个归总。

1. nginx下WordPress的伪静态设置

因为nginx还不完全兼容Apache,所以造成一些不便,比如不支持.htaccess(即不能伪静态),那么如何解决这个问题呢?
编辑/usr/local/nginx/conf/nginx.conf文件,在server容器中添加下面这几行:

location / {
index index.html index.php;
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;
}
}

修改完成以后,执行如下命令重启lnmp即可:
/root/lnmp restart

2. 关于将多个域名绑定到同一目录

比如我想将www.zhukun.net和zhukun.net绑定到同一目录,要怎么实现呢?虽然在大部分美国虚拟主机上这两个域名是默认绑在同一目录的,但是在nginx下,它们是各自分离的。
最简单的方法就是在执行./vhost.sh命令添加虚拟主机的时候,同时把这两个域名加进去。当你执行./vhost.sh的时候,会提示你输入要绑定的域名,输入zhukun.net并回车,此时它会问你要不要添加更多的域名,输入Y并回车,再输入www.zhukun.net即可。

万一在添加虚拟主机的时候忘了怎么办?那就只能修改该虚拟主机的配置文件了。

在安装Licess的lnmp一键安装包时,会要求你先输入一个域名,此域名将直接绑定根目录,我们暂且称这个域名为主域名,主域名的配置文件在/usr/local/nginx/conf/nginx.conf下;而通过执行./vhost.sh命令添加的虚拟主机,其配置文件在/usr/local/nginx/conf/vhost/域名.conf之下。

打开相应的配置文件,在server容器中找到下面这一行:
server_name zhukun.net;

将其修改为如下内容即可:
server_name zhukun.net www.zhukun.net;

修改完之后,还要执行如下命令重启一下lnmp:
/root/lnmp restart

3. 关于pureFTPd添加的FTP用户登陆时出现530错误

首先一点是,FTP登陆时客户端会出现乱码,这个很好解决,把FTP客户端的编码设置成gb2312就可以了。重点是登陆时出现530错误怎么办。
个人建议在通过http://domain/ftp/install.php安装完pureFTPd以后,立即登陆SSH执行/root/pureftpd restart重启一下pureFTPd,一般就会OK,但有时还会出现此问题。

编辑:/usr/local/pureftpd/pure-ftpd.conf
找到 MinUID 100
将MinUID的数值改为一个更小的数值(比如2),然后执行/root/pureftpd restart重启pureftpd,就可以解决530问题。
FTP登陆成功后可以将MinUID重新改回100,再次重启pureftpd,仍然可以正常登陆。

4. WordPress后台更新主题或插件时,提示需要填写FTP信息

其实出现这个的问题就是Nginx的执行身份非文件属主身份。解决方法:

假设你的wordpress安装目录为/home/wwwroot/zhukun.net
执行:chown -R www /home/wwwroot/zhukun.net
执行上面的命令就可以将/home/wwwroot/zhukun下所有文件的属主改为www,这样就可以解决自动更新必须填FTP的问题。
注意:1,必须是把wordpress程序文件上传到空间以后再执行该命令,顺序不能颠倒;2,添加完虚拟主机以后,也必须把wordpress程序文件上传到空间以后,再执行该命令。

本文转自:seafly官方团队博客  http://seafly.592mb.com/post/303.html