Nginx 正在尝试打开文件而不是重定向到代理

Nginx is trying open file instead of redirect to proxy

您好,我正在将 Nginx 与 njs 一起使用,并且在我的配置中有这样的位置

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;
    error_log stderr debug;
...

location /checkout/payment {
     js_content http.payment;
}

location /tc/api/endpoint {
         proxy_ssl_server_name  on;
         proxy_ssl_name         some_proxy_host;
         subrequest_output_buffer_size   1m;
         proxy_read_timeout     300;
         proxy_buffer_size      128k;
         proxy_buffers          8 128k;
         proxy_busy_buffers_size  128k;
         proxy_set_header Accept "application/json, text/plain, */*";
         proxy_set_header X-TC-Domain some_domain;
         # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Content-Type 'application/json';
         proxy_set_header Authorization "[[AUTH_TOKEN]]";
         proxy_pass https://some_proxy_host;
         proxy_redirect / /;
         proxy_intercept_errors on;
         error_page 301 302 307 = @handle_redirect;
    }

我正在向 API

发出 POST 请求的 njs 文件内部
function payment(req) {
    if (req.method === 'GET') {
        return returnIndex(req);
    } else {
        req.subrequest('/tc/api/endpoint/book', {
            body: JSON.stringify({
                ...
            }),
            method: 'POST',
        }).then(payment => {
            return returnIndex(req);
        }).catch(() => {
            return returnIndex(req);
        });

    }
}

在这个请求中,我得到正文响应作为表单数据将其转换为 JSON 并向第三方发出 POST 请求,但出现以下错误。

*63 open() "/usr/share/nginx/html//tc/api/endpoint/book" failed (2: No such file or directory) while sending to client, client: 10.0.0.14, server: _, request: "POST /checkout/payment?key=val HTTP/1.1", subrequest: "/tc/api/endpoint/book", upstream: "https://11.100.216.19:443//book", host: "proxy.eu-west-2.elb.amazonaws.com"

此请求应代理给第 3 方,但看起来它试图打开文件但未进行重定向。此问题仅在我的 AWS 账户中重现,Nginx 在 CloudFront 之后托管。在当地它运作良好。知道为什么会这样吗?

已请求 API 提出问题。 Nginx 有这样的行为是因为响应的 405 状态码