如果你愿意帮助hiproxy编写文档,请联系zdying@live.com, 谢谢!
If you are willing to help hiproxy to write documentation, please contact zdying@live.com, thank you!
指令
指令
(也称:命令
)用于设置变量,或者对request/response做一些操作。
全局指令
* set
描述:定义变量
语法:set key value
作用域链:global, domain, location
例子:
- set $server hiipack;
代理请求相关指令
代理请求相关的指令,用于操作代理服务向目标服务器发送请求的Request
对象。
作用域链:domain, location
* proxy_set_header
描述:设置请求头部字段
语法:proxy_set_header key value
例子:
- proxy_set_header Host some.example.com;
* proxy_hide_header
描述:删除请求头部字段
语法:proxy_hide_header key
例子:
- proxy_hide_header Host;
* proxy_set_cookie
描述:设置请求Cookie
语法:proxy_set_cookie key value
例子:
- proxy_set_cookie from hiproxy;
* proxy_hide_cookie
描述:删除请求Cookie字段
语法:proxy_hide_cookie key
例子:
- proxy_hide_cookie from;
* proxy_method
描述:设置请求方法(GET、POST等)
语法: proxy_method method
示例:
- proxy_method POST;
* proxy_set_body
描述:设置请求的body内容.
语法: proxy_set_body body
示例:
- proxy_set_body "a=1&b=2&c=3";
* proxy_append_body
描述:向请求的body追加内容.
语法: proxy_append_body content
示例:
- proxy_append_body "&d=4";
* proxy_replace_body
描述:替换body中的部分内容.
语法: proxy_replace_body oldVal newVal
示例:
- proxy_replace_body "a=1" "a=111";
代理响应相关指令
代理响应相关的指令用于配置代理服务器响应浏览器的Response
对象。
作用域链:domain, location
* status
描述:设置相应状态码和消息
语法:status code message
例子:
- status 477 "Authentication failed";
* set_header
描述:添加Header字段
语法:set_header key value
例子:
- set_header SERVER hiproxy;
* hide_header
描述:删除Header字段
语法:hide_header key
例子:
- hide_header SERVER;
* set_cookie
描述:设置Cookie字段
语法:set_cookie key value
例子
- set_cookie SESSION_ID 2BF36A09CB35FD71E;
* hide_cookie
描述:删除Cookie字段
语法:hide_cookie key
例子:
- hide_cookie SESSION_ID;
* send_file
描述:返回指定的文件
语法:send_file file_name
例子:
- send_file index.html;
send_file /site/index.html;
* echo
描述:返回指定内容
语法:echo string
例子:
- echo <h1>hello_echo</h1>;
echo <p>finish</p>;
domain内部指令
只在同一个domain内有效,且覆盖全局同名指令
作用域链:domain
* ssl_certificate
描述:手动指定证书文件
参数:ssl_certificate file.crt(只支持相对路径,后期完善)
例子:
- example.com => {
ssl_certificate /user/root/.hiproxy/cert/example.crt;
}
* ssl_certificate_key
描述:手动指定私钥文件
参数:ssl_certificate_key file.key(只支持相对路径,后期完善)
例子:
- example.com => {
ssl_certificate_key /user/root/.hiproxy/cert/example.key;
}
location内部指令
只在同一个location内有效,且覆盖全局及domain同名指令
作用域链:domain, location
* proxy_pass
描述:设置请求转发的目标地址
参数:proxy_pass url
例子:
- proxy_pass http://some.example.com/some/path/;
* alias
描述:将对应的location
映射到本地目录
参数:alias path
例子:
- alias /Users/root/some/path/;
* root
描述:将对应的location
映射到本地目录时的默认文件,默认文件名为index.html
参数:root file_name
例子:
- root app.html;