nginx中的两个模块的proxy_pass的区别是什么

技术nginx中的两个模块的proxy_pass的区别是什么本篇内容介绍了“nginx中的两个模块的proxy_pass的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学

本文介绍了关于“nginx中两个模块的proxy_pass有什么区别”的知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

1.NGX _ stream _ proxy _ module模块的代理_传递指令

它只能用于服务器段,只需要域名或ip地址和端口。

可以理解为端口转发,可以是tcp端口,也可以是udp端口。

服务器{

列表127 . 0 . 0 . 1:12345;

proxy _ pass 127 . 0 . 0 . 1:8080;

}

服务器{

列表12345;

proxy _ connect _ timeout1s

proxy _ timeout1m

proxy _ pass example.com :12345;

}

服务器{

listen53udp

proxy _ responses1

proxy _ timeout20s

proxy _ pass DNS . example.com :53;

}

服务器{

听[:1]:12345;

proxy _ passunix :/tmp/stream . socket;2.NGX _ http _ proxy _ module模块的代理_传递指令

它需要在位置段中使用,如果在位置段中,limit_except段,

除了提供域名或ip地址和端口,还需要提供诸如“http”或“https”等协议。

还有一个可选的uri可以配置。

3.3.proxy_pass之后,分析后端服务器的url(request_uri)。

服务器{

列表80;

server _ name www . test.com;

#场景一

#参观http://www.test.com/testa/aaaa

#后端的request_uri是:/testa/aaaa。

location^~/testa/{

proxy _ pass http://127 . 0 . 0 . 1:8801

}

#情景二

#参观http://www.test.com/testb/bbbb

#后端的request_uri是:/bbbb。

location^~/testb/{

proxy _ pass http://127 . 0 . 0 . 1:8801/;

}

#场景C

#以下段落的位置正确。

    location ~ /testc {
        proxy_pass http://127.0.0.1:8801;
    }
 
    # 情形D
    # 下面这段location是错误的
    #
    # nginx -t 时,会报如下错误: 
    #
    # nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular 
    # expression, or inside named location, or inside "if" statement, or inside 
    # "limit_except" block in /opt/app/nginx/conf/vhost/test.conf:17
    # 
    # 当location为正则表达式时,proxy_pass 不能包含URI部分。本例中包含了"/"
    location ~ /testd {
        proxy_pass http://127.0.0.1:8801/;   # 记住,location为正则表达式时,不能这样写!!!
    }
 
    # 情形E
    # 访问 http://www.test.com/ccc/bbbb
    # 后端的request_uri为: /aaa/ccc/bbbb
    location /ccc/ {
        proxy_pass http://127.0.0.1:8801/aaa$request_uri;
    }
 
    # 情形F
    # 访问 http://www.test.com/namea/ddd
    # 后端的request_uri为: /yongfu?namea=ddd
    location /namea/ {
        rewrite    /namea/([^/]+) /yongfu?namea=$1 break;
        proxy_pass http://127.0.0.1:8801;
    }
 
    # 情形G
    # 访问 http://www.test.com/nameb/eee
    # 后端的request_uri为: /yongfu?nameb=eee
    location /nameb/ {
        rewrite    /nameb/([^/]+) /yongfu?nameb=$1 break;
        proxy_pass http://127.0.0.1:8801/;
    }
 
    access_log /data/logs/www/www.test.com.log;
}
 
server {
    listen      8801;
    server_name www.test.com;
    
    root        /data/www/test;
    index       index.php index.html;
 
    rewrite ^(.*)$ /test.php?u=$1 last;
 
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
 
    access_log /data/logs/www/www.test.com.8801.log;
}

“nginx中的两个模块的proxy_pass的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124798.html

(1)

相关推荐

  • 10组-Alpha冲刺-总结

    技术10组-Alpha冲刺-总结 10组-Alpha冲刺-总结[组长博客链接](https://www.cnblogs.com/Jimase/p/15585897.html)# 一、基本情况## 现场答

    礼包 2021年11月22日
  • 撒哈拉沙漠在哪里,撒哈拉沙漠是哪个国家的领土

    技术撒哈拉沙漠在哪里,撒哈拉沙漠是哪个国家的领土撒哈拉不属于哪个国家。只能说很多国家都在撒哈拉沙漠上撒哈拉沙漠在哪里,阿尔及利亚、利比亚、埃及、毛里塔尼亚、马里、尼日尔、乍得苏丹等国的大部分领土都是属于撒哈拉沙漠。早在2

    生活 2021年10月26日
  • ORACLE中出现ORA-28365错误怎么办

    技术ORACLE中出现ORA-28365错误怎么办这篇文章主要为大家展示了“ORACLE中出现ORA-28365错误怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ORA

    攻略 2021年11月20日
  • Redis与数据库数据一致性的示例分析

    技术Redis与数据库数据一致性的示例分析这期内容当中小编将会给大家带来有关Redis与数据库数据一致性的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 可能谈到保持R

    攻略 2021年12月1日
  • 眉间痣,痣,长在脸上哪些部位算是美女

    技术眉间痣,痣,长在脸上哪些部位算是美女有人认为眉间痣,长在眉心和嘴角的痣是美人痣。其实不然,长在眼睑旁边和下方肤色较淡部位的明亮之痣,才会让人增色和增运。少数痣的确能够使人更美,但并不是每个人都是美人胚子,关于“美人痣

    生活 2021年10月26日
  • springboot整合druid

    技术springboot整合druid springboot整合druid一.SpringBoot整合Druid
    Druid是阿里巴巴的一个开源项目,是一个数据库连接池的实现,结合了C3P0、DBCP、

    礼包 2021年11月12日