服务器中的两个模块的代理传递的区别
ngx _ stream _ proxy模块模块的代理传递指令
只能在计算机网络服务器段使用使用,只需要提供域名或互联网协议(互联网协议的缩写)地址和端口。
可以理解为端口转发,可以是传输控制协议端口,也可以是用户数据报协议端口。
服务器{
倾听127 .0 .0 .1:12345;
代理_ pass 127。0 .0 .1:8080;
}
服务器{
听12345;
proxy _ connect _超时1s
代理超时1m
proxy _ pass示例。com :12345
}
服务器{
听53联合民主党
proxy _ responses 1;
代理超时20s
proxy _ pass DNS。例子。com :53
}
服务器{
听[:1]:12345;
proxy _ pass UNIX :/tmp/stream。插座;
ngx _ http _代理_模块模块的代理传递指令
需要在位置段,位置中的如果段,限制_除外段中使用,
处理需要提供域名或互联网协议(互联网协议的缩写)地址和端口外,还需要提供协议,如" http "或https ',
还有一个可选的上呼吸道感染可以配置。
代理传递后,后端服务器的url(请求uri)情况分析
服务器{
听80;
服务器名www.test.com;
# 情形A
# 访问http://www.test.com/testa/aaaa
# 后端的请求上呼吸道感染为: /testa/aaaa
地点^~/泰斯塔/
proxy _ pass http://127。0 .0 .1:88801
}
# 情形B
# 访问http://www.test.com/testb/bbbb
# 后端的请求上呼吸道感染为: /bbbb
地点^~ /testb/
proxy _ pass http://127。0 .0 .1:8801/;
}
# 情形C
# 下面这段位置是正确的
位置~ /testc {
proxy _ pass http://127。0 .0 .1:88801
}
# 情形D
# 下面这段位置是错误的
#
# nginx -t时,会报如下错误:
#
# nginx :[紧急]“代理_通行证”在常规给定的位置中不能有上呼吸道感染部分
#表达式,或内部命名位置,或内部如果语句,或内部
# ' limit _ except ' block in/opt/app/nginx/conf/vhost/test。con f :17
#
# 当位置为正则表达式时,代理传递不能包含上呼吸道感染部分。本例中包含了'/'
位置~ /testd {
proxy _ pass http://127。0 .0 .1:8801/;# 记住,位置为正则表达式时,不能这样写!
}
# 情形E
# 访问http://www.test.com/ccc/bbbb
# 后端的请求上呼吸道感染为: /aaa/ccc/bbbb
位置ccc/
proxy _ pass http://127。0 .0 .1:8801/AAA $ request _ uri;
}
# 情形F
# 访问http://www.test.com/namea/ddd
# 后端的请求上呼吸道感染为: /yongfunamea=ddd
位置/名称a/
重写/namea/([^/])/yongfunamea=1美元;
proxy _ pass http://127。0 .0 .1:88801
}
# 情形G
# 访问http://www.test.com/nameb/eee
# 后端的请求上呼吸道感染为: /yongfunameb=eee
位置/名称b/
重写/nameb/([^/])/yongfunameb=1美元;
proxy _ pass http://127。0 .0 .1:8801/;
}
access _ log/data/logs/www .测试。com。日志;
}
服务器{
听8801;
服务器名www.test.com;
root/data/www/test;
index.phpindex.html指数;
重写^(.*)$/test。phpu=$ 1 last
位置~ \。php $ {
try _ files $ uri=404
fastcgi _ pass UNIX :/tmp/PHP-CGI。袜子;
index.php指数;
包括fastcgi.conf
}
access _ log/data/logs/www .测试。com。8801 .日志;
}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124344.html