全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: mudfrog

[nginx] 适用于Directadmin面板的Nginx自动安装脚本

[复制链接]
发表于 2010-9-25 16:02:43 | 显示全部楼层
网上流传的脚步是有毛病的,把所有都转发到后端去了。没有起到我们使用nginx的作用。

最后奉劝大家一句.DA的默认方式,安全是很大的问题。对于开了shell权限的来说,open_basedir就是个摆设了。

详情看这里
http://blog.37hi.com/archives/235/

[ 本帖最后由 renothing 于 2010-9-25 16:06 编辑 ]
发表于 2010-9-25 16:25:38 | 显示全部楼层
原帖由 renothing 于 2010-9-25 16:02 发表
网上流传的脚步是有毛病的,把所有都转发到后端去了。没有起到我们使用nginx的作用。

最后奉劝大家一句.DA的默认方式,安全是很大的问题。对于开了shell权限的来说,open_basedir就是个摆设了。

详情看这里
http://blog. ...


不错.但在虚拟主机DA面板当中,要顾虑的东西会比较多.
例如成员设置错误页面,当访问一个不存在的页面的时候,nginx无法定位到具体路径就会返回错误,如果这个时候返回到后端的apache进一步匹配错误页面的设置就可以避免这种情况的发生,减轻了实施错误页面设置的复杂度.
我的脚本中一样会把页面返回到后端进行查询,但对于一个存在的文件来说,就只有优先级别的不同了(优先由nginx解析).
nginx在整个系统中无法做到像单用户那样灵活.可以一试.呵呵

防盗链这块,其实我是添加了两条参数,proxy_set_header   Referer $http_referer;proxy_set_header   Cookie $http_cookie; 具体看proxy.inc:
  1. proxy.inc
  2. proxy_connect_timeout 30s;
  3. proxy_send_timeout   90;
  4. proxy_read_timeout   90;
  5. proxy_buffer_size    64k;
  6. proxy_buffers     16 32k;
  7. proxy_busy_buffers_size 64k;
  8. #proxy_pass http://127.0.0.1:81;
  9. proxy_pass_header Set-Cookie;
  10. proxy_redirect     off;
  11. proxy_hide_header  Vary;
  12. proxy_set_header   Accept-Encoding '';
  13. proxy_ignore_headers Cache-Control Expires;
  14. proxy_set_header   Referer $http_referer;
  15. proxy_set_header   Host   $host;
  16. proxy_set_header   Cookie $http_cookie;
  17. proxy_set_header   X-Real-IP  $remote_addr;
  18. proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
复制代码
发表于 2010-9-25 17:18:33 | 显示全部楼层

回复 12# 的帖子

你完全可以用if ( !-e $request_filename) 来结合着用。如果全部转向后端,则没有了任何实质性意义:说缓存吧,也没看到用proxy_cache,说处理静态文件吧,又全部转到Apache了。
防盗链这块,其实我是添加了两条参数,proxy_set_header   Referer $http_referer;proxy_set_header   Cookie $http_cookie;

这些是可以伪造的。正确的做法是ngx_http_accesskey_module 或者转向后端脚本判断。

[ 本帖最后由 renothing 于 2010-9-25 17:20 编辑 ]
发表于 2010-9-25 17:31:27 | 显示全部楼层
原帖由 renothing 于 2010-9-25 17:18 发表
你完全可以用if ( !-e $request_filename) 来结合着用。如果全部转向后端,则没有了任何实质性意义:说缓存吧,也没看到用proxy_cache,说处理静态文件吧,又全部转到Apache了。

这些是可以伪造的。正确的做法是ngx_http_acce ...

的确是可以用判断的方式来做到,但这里之所以会留下来,是因为if (!-e $request_filename)语句也有它局限的地方,例如当用户提交带参数的URL地址链的时候(如http://youdomain.com/about.html?comments),就需要使用try_files进行转发.但try_files这个无法写进if (!-e $request_filename)语句当中.所以不使用if语句是有原因的.
proxy_cache后来我删除了.因为大部分程序使用,用户反映都有问题,例如一些文章系统,更新了文章之后并没有发送PURGE刷新缓存的信号到nginx.那这样就会给用户访问带来很大麻烦.

proxy_cache如果要使用,我建议参考这篇文章介绍的实现方法及刷新缓存的方法.http://sudone.com/nginx/nginx_cache_purge.html


[ 本帖最后由 诡谲 于 2010-9-25 18:03 编辑 ]
发表于 2010-9-25 17:33:41 | 显示全部楼层
至于防盗链伪造,这个你怎么避免?多用户体系中,遵循apache的防盗链会更好.
而且那个防盗链模块实施起来,也不是多用户系统能承担的.还不说是否会带来系统稳定性方面的问题.
发表于 2010-9-25 17:48:00 | 显示全部楼层

回复 15# 的帖子

现在的问题是。。。。啥都没用到,那装个nginx有鸟用。。。Apache本身不是更好吗?
发表于 2010-9-25 17:52:12 | 显示全部楼层
原帖由 renothing 于 2010-9-25 17:48 发表
现在的问题是。。。。啥都没用到,那装个nginx有鸟用。。。Apache本身不是更好吗?


呵呵.有没有用,亲自测试过就知道了.不要过早下定论.
发表于 2010-9-25 17:52:42 | 显示全部楼层
没DA面版了,不想再折腾VPS了。
发表于 2010-9-25 17:58:48 | 显示全部楼层

回复 17# 的帖子

呵呵~理论上就已经成了个摆设了。
至于expired 和gzip,Apache下也有相应模块。deflate和expired
不要迷信别人,你自己测试后就知道了。

我现在配置是Apache最小化安装,只处理php~其余工作交给nginx。速度要快一些。
发表于 2010-9-25 18:07:01 | 显示全部楼层
原帖由 renothing 于 2010-9-25 17:58 发表
呵呵~理论上就已经成了个摆设了。
至于expired 和gzip,Apache下也有相应模块。deflate和expired
不要迷信别人,你自己测试后就知道了。

我现在配置是Apache最小化安装,只处理php~其余工作交给nginx。速度要快一些。 ...


我刚才再次检查一下,后端apache确实重复处理了请求.cache-control和expires在nginx端都是忽略的.你说的确实在理.您的QQ是多少?我想加您为好友,交个朋友.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-16 10:11 , Processed in 0.092275 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表