我需要知道如何做一个代理通过在Nginx的某些url模式只
我已经写了下面的内容,但我不确定是否按照我的要求工作。 我想要的是
1. if the url matches \’/member-chat\’ it needs to be redirected the proxy pass 2. anything else needs to be re-written as below
是什么书面是正确的?
location ^/member-chat { proxy_pass http://lxx.com:5280/http-bind; } location !/member-chat { rewrite ^/files/([^/]+)/([^/]+)$ /_files/$1/$2; rewrite ^/plugins/([^.]+) http://www.lxx.com:9090/plugins/$1; }
如果我这样做如下
使用哪个python模块访问windows 7的代理设置?
Nginx的代理服务器上的400错误的请求,而不是静态内容
通过SSL连接将请求连接到转发http代理?
边缘 – 包括Nginx模块?
在express.Js中,“信任代理”实际上做了什么?我需要使用它吗?
location / { rewrite ^/files/([^/]+)/([^/]+)$ /_files/$1/$2; rewrite ^/plugins/([^.]+) http://www.lxx.com:9090/plugins/$1; }
我得到一个错误
Nginx: [emerg] duplicate location \”/\” in /var/www/vhosts/system/lxx.com /conf/vhost_Nginx.conf:4 Nginx: configuration file /etc/Nginx/Nginx.conf test Failed
Nginx Proxy_Pass到CDN直接打CDN。 Pro\’s,Con\’s,速度慢还是对服务器有负面影响?
根据Nginx中的子域请求路由不同的代理
使用HAProxy负载平衡与Tornado应用程序的WebSocket连接?
如何在C编写一个http1.0代理服务器在linux?
Internet Explorer如何通知其他浏览器有关代理设置的更改?
几个问题:
您的位置#1 location ^/member-chat是错误的
因为^匹配的路径的开始只适用于正则表达式匹配( location ~或location ~*为区分大小写/敏感表达式匹配)。
要么 location /member-chat ,这也将匹配像/member-chatABCDE或/member-chat/xyz
或使用location = /member-chat 只匹配/member-chat 。
您也可以使用正则表达式,例如location ~ ^/member-chat (前缀匹配)或location ~* ^/member-chat$ (精确匹配),但避免使用正则表达式来支持前缀,甚至更好的匹配
(正则表达式的性能差得多,在匹配过程中最后比较)。
位置#2显然是错误的,因为没有像位置匹配的not运算符那样的东西。
Nginx会按照一定的顺序来处理位置,例如,它将以精确匹配( = )开始,然后检查前缀匹配(无修饰符),然后检查正则表达式( ~或~* )。
但是,如果找到正则表达式匹配,则会比前缀匹配更受欢迎。
结论
location = /member-chat { # exact match # proxy stuff for chat goes here } location /files { # match files } location /plugin { # match plugin }
我真的建议你阅读Nginx文档,以防止你提出一个接一个的问题。
例如位置匹配是一个复杂的话题,但已经被文档覆盖了。
总结
以上是内存溢出为你收集整理的nginxurl重写与代理通例子?全部内容,希望文章能够帮你解决nginxurl重写与代理通例子?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容