当另一个站点重定向到我的 Ionic 网站时,Nginx 405 不允许

Nginx 405 Not allowed when another site redirects to my Ionic webiste

我有一个连接各种支付网关的应用程序。当支付网关使用 url example.com/after-payment-success 或 example.com/after-payment-failed 导航回我的站点时,我收到 Nginx 不允许的 405。

如果我直接从浏览器访问该页面,当我刷新出现 405 错误的完全相同的页面时也没有问题,它加载完全正常。

这似乎与从支付网关到我的站点的程序化重定向有关。

详细信息:网站托管在重定向到 http Nginx 的 AWS 中。此外,付款请求先从我的离子应用程序转到另一个 apache 服务器,然后再转到付款 gateway.While 返回 PG 重定向到 apache,然后再转到我的应用

配置如下

proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 128;
large_client_header_buffers 8 64k;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
    try_files $uri $uri/ /index.html;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

试试这个 location 块:

location / {
    error_page 405 =200 $uri;
    try_files $uri $uri/ /index.html;
}

由于您不使用 ngx_http_proxy_module 的功能,因此不需要 proxy_set_header 指令(尽管它们不是此错误的原因)。