注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

一些有用的nginx模块收集与整理(......)  

2014-06-03 15:34:11|  分类: nginx编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

20. nginx-uwsgi模块

模块默认会全部编译进Nginx。在ubuntu下,使用nginx-extras即包含了此模块。

uwsgi协议提供支持。
示例配置:

 location / {
    uwsgi_pass unix:///var/run/example.com.sock; #还可以使用端口方式表示
    include uwsgi_params;
  }

注意不要把uwsgi协议和uWSGI服务器混淆。

指令

uwsgi_pass

语法:uwsgi_pass uri
默认值:none
使用字段:server, location
为一个uwsgi兼容服务器设置监听地址(tcp套接字,unix套接字或者流块)

uwsgi_param

语法:uwsgi_param key value
默认值:none
使用字段:server, location
为一个uwsgi请求增加一对key/value值。
示例:

  location / {
    uwsgi_pass unix:///var/run/example.com.sock;
    include uwsgi_params;
    uwsgi_param NEW_VAR foo;
  }

uwsgi_modifier1

语法:uwsgi_modifier1 value
默认值:0
使用字段:server, location
为一个uwsgi请求设置第一个修饰语(默认为一个WSGI请求)。

uwsgi_modifier2

语法:uwsgi_modifier2 value
默认值:0
使用字段:server, location
为一个uwsgi请求设置第二个修饰语。

uwsgi_string

语法:uwsgi_string string
默认值: none
使用字段:server, location
为一个uwsgi请求增加一个字符串。
示例(为一个支持eval修饰语的uwsgi兼容服务器):

  location / {
    uwsgi_pass unix:///var/run/example.com.sock;
    uwsgi_pass_request_headers off;
    uwsgi_pass_request_body off;
    uwsgi_string "
 
import uwsgi
 
uwsgi.start_response('200 OK', [('Content-type','text/plain')])
total = 30+22
uwsgi.send("30 + 22 = %d" % total)
 
";
 
    uwsgi_modifier1 22;
    uwsgi_modifier2 0;
 
  }

uwsgi_pass_request_headers

语法:uwsgi_pass_request_headers on/off
默认值:on
使用字段:server, location
在uwsgi请求中传递HTTP请求头。

uwsgi_pass_request_body

语法:uwsgi_pass_request_body on/off
默认值:on
使用字段:server, location
在uwsgi请求中传递HTTP请求实体(如果其可用)。


30.remote-server-control-module(远程服务控制模块)

Status(现状)

This module is production ready.

这个模块是为生产而准备的

Synopsis(简介)

The module block current request(but can concurrently deal other request), and send request data(header,body,client_ip) to remote server. Remote server resposing 's' means stoping the request and reposing 501 to client, if not, continue handle the request by next handle phases.

这个模块拦截当前请求的(但可以同时处理其他请求),并发送请求数据(头信息,数据体信息,client_ip)到远程服务器。远程服务器resposing "S"意味着停止回应请求和回复501到客户如果没有,继续处理一个阶段的要求

The module can be used to co-operate with waf(Web Application Firewall. anti Xss & sql Injection & CC attack ...) server, statistics server and so on.

该模块可用于配合WAF(Web应用防火墙。XssSQL注入CC攻击……服务器数据统计服务等

How(怎么用呢)?

#an example for communicting the remote server

#一个与远程服务器通讯的例子

1. Nginx.conf

http {

remotesrv_module on; #on|off

#

remotesrv_ip 127.0.0.1;

remotesrv_port 8888;

remotesrv_timeout 5000; #ms

}

2.远程服务器

netcat -u -l -s 127.0.0.1 -p 8888

3. client point

curl http://127.0.0.1

4.远程服务器

type s or other character in netcat in under five seconds


  评论这张
 
阅读(117)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017