all*_*b57 6 regex redirect nginx
我正在尝试使用nginx进行重定向.想法是将uri/id_1234 /重定向到localhost:1234以用于某些端口.固定端口的重定向:
location /id_1234/ {
rewrite ^/id_1234/(.*) /$1 break;
proxy_pass http://localhost:1234;
proxy_redirect http://localhost:1234/ $scheme://$host/id_1234/;
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好.现在我尝试将1234更改为任何端口:
location ~* ^/id_([0-9]*)/ {
rewrite ^/id_([0-9]*)/(.*)$ /$2 break;
proxy_pass http://localhost:$1;
proxy_redirect http://localhost:$1/ $scheme://$host/id_$1/;
}
Run Code Online (Sandbox Code Playgroud)
使用此配置,我收到502错误,日志中出现以下错误:
no resolver defined to resolve localhost
Run Code Online (Sandbox Code Playgroud)
如果我在localhost:之后将$ 1更改为实际端口,则它适用于指定的端口.如何使用正则表达式指定重定向端口?
提前致谢!
从@ alleb57的答案开始-似乎localhost在此刻配置还没有定义。我转换为http://127.0.0.1在整个配置中使用(over localhost),而不必定义解析器。
添加
resolver 127.0.0.1;
Run Code Online (Sandbox Code Playgroud)
有帮助,但很奇怪......
| 归档时间: |
|
| 查看次数: |
6789 次 |
| 最近记录: |