介绍
本篇内容介绍了nginx中”的两个模块的proxy_pass的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
<代码> 1。ngx_stream_proxy_module 代码>模块的<代码> proxy_pass> 代码指令
只能在服务器段使用使用,只需要提供域名或ip地址和端口。
可以理解为端口转发,可以是tcp端口,也可以是udp端口。
server { ,,,listen 127.0.0.1:12345; ,,,proxy_pass 127.0.0.1:8080; } , server { ,,,listen 12345; ,,,proxy_connect_timeout 1 s; ,,,proxy_timeout 1米; ,,,proxy_pass example.com: 12345; } , server { ,,,listen 53, udp; ,,,proxy_responses 1; ,,,proxy_timeout 20年代; ,,,proxy_pass dns.example.com: 53个; } , server { ,,,listen [:: 1]: 12345; ,,,proxy_pass unix:/tmp/stream.socket;
<代码> 2。ngx_http_proxy_module 代码>模块的<代码> proxy_pass> 代码指令
- <李>
需要在段位置,位置中的如果段,limit_except段中使用,
李> <李>处理需要提供域名或ip地址和端口外,还需要提供协议,如“http"或“https"
李> <李>还有一个可选的uri可以配置。
李>3. proxy_pass后,后端服务器的url (request_uri)情况分析
server { ,,,listen ,,,,, 80; ,,,server_name www.test.com; , ,,,#,情形 ,,,#,访问,http://www.test.com/testa/aaaa ,,,#,后端的request_uri为:/甲壳aaaa级 ,,,的位置^ ~,/甲壳,{ ,,,,,,,proxy_pass http://127.0.0.1:8801; ,,,} ,,,, ,,,#,情形 ,,,#,访问,http://www.test.com/testb/bbbb ,,,#,后端的request_uri为:/bbbb ,,,的位置^ ~,/的/,{ ,,,,,,,proxy_pass http://127.0.0.1:8801; ,,,} , ,,,#,情形C ,,,#,下面这段位置是正确的 ,,,的位置~,/testc { ,,,,,,,proxy_pass http://127.0.0.1:8801; ,,,} , ,,,#,情形 ,,,#,下面这段位置是错误的 ,,# ,,,#,nginx -t 时,会报如下错误:, ,,# ,,,#,nginx:,(紧急情况),“proxy_pass", cannot have URI part 位置拷贝given by regular 号,,,,,,趁机inside named 位置,趁机inside “if",声明中,趁机inside ,,,#,“limit_except", block 拷贝/opt/app/nginx vhost/conf//test.conf: 17 ,,,#, ,,,#,当位置为正则表达式时,proxy_pass 不能包含URI部分。本例中包含了“/? ,,,的位置~,/testd { ,,,,,,,proxy_pass http://127.0.0.1:8801;,,, #,记住,位置为正则表达式时,不能这样写! ! ! ,,,} , ,,,#,情形E ,,,#,访问,http://www.test.com/ccc/bbbb ,,,#,后端的request_uri为:/aaa/ccc/bbbb ,,,的位置/ccc/, { ,,,,,,,proxy_pass http://127.0.0.1:8801 aaa request_uri美元; ,,,} , ,,,#,情形 ,,,#,访问,http://www.test.com/namea/ddd ,,,#,后端的request_uri为:/永福吗?对=ddd ,,,的位置/对,{ ,,,,,,,rewrite ,,,/对([^/]+),/永福吗?对=1美元,打破; ,,,,,,,proxy_pass http://127.0.0.1:8801; ,,,} , ,,,#,情形G ,,,#,访问,http://www.test.com/nameb/eee ,,,#,后端的request_uri为:/永福? nameb=eee ,,,的位置/nameb, { ,,,,,,,rewrite ,,,/nameb/([^/] +),/永福? nameb=1美元,打破; ,,,,,,,proxy_pass http://127.0.0.1:8801; ,,,} , ,,,access_log /数据/logs/www/www.test.com.log; } , server { ,,,listen ,,,,, 8801; ,,,server_name www.test.com; null null null null null null null null null null null null null null nullnginx中的两个模块的proxy_pass的区别是什么