0

我有以下重写位置:

location ~ ^/payment/gateway/v2/order/complete/(.*)$ {
    proxy_pass http://api.test.com:8080/payment/gateway/v2/order/complete?order_id=$1;
}

然后我尝试了这个:

 location /payment/gateway/v2/order/complete {
    rewrite ^/payment/gateway/v2/order/complete/(.+) /payment/gateway/v2/order/complete?order_id=$1 break;
    proxy_pass http://api.test.com:8080
}

那么这个:

 location /payment/gateway/v2/order/complete/ {
    rewrite ^/payment/gateway/v2/order/complete/$ /payment/gateway/v2/order/complete?order_id=$1 last;
    proxy_pass http://api.test.com:8080
}

那么这个:

location /payment/gateway/v2/order/complete {
    rewrite ^/payment/gateway/v2/order/complete/([^/]+)$ /payment/gateway/v2/order/complete?order_id=$1 last;
    proxy_pass http://api.test.com:8080;
}

所有这些都不起作用。

Nginx 版本 1.13.8

提前致谢

编辑 上面的所有代码都可以正常工作,我发现了我的错误。我将其中一个配置文件复制到 conf.d 文件夹以进行备份,但忘记将其重命名为扩展名。我删除了它,一切正常。谢谢大家的帮助!

4

1 回答 1

1
nginx -V 2>&1 | tr -- - '\n' | grep  _module

这是检查已安装模块的方法。我有同样的问题,看起来我没有安装/启用模块......

于 2021-05-02T07:50:45.443 回答