Nginx ( Openresty ) プロキシ、静的ファイルへのカスタム ヘッダーの追加

Nginx ( Openresty ) プロキシ、静的ファイルへのカスタム ヘッダーの追加

静的ファイルにヘッダーを追加しようとしていますが、どうすれば適切に実行できますか?

ネストを試みたがうまくいかなかった

server {


    location / {
        proxy_pass http://apache.backend.local/;
        proxy_no_cache $http_pragma $http_authorization;

        proxy_cache radish_cache;
        proxy_cache_bypass $http_cache_control;
        add_header X-Proxy-Cache $upstream_cache_status;

        proxy_redirect          off;

        proxy_pass_header Set-Cookie;

        proxy_ignore_headers Cache-Control Expires;

        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;
        proxy_set_header X-Forwarded-Host   $host;
        proxy_set_header X-Forwarded-Port   $server_port;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header Accept-Encoding '';
        proxy_set_header Connection '';
        proxy_set_header Referer $http_referer;
        proxy_set_header Cookie $http_cookie;

        proxy_hide_header X-Powered-By;

        proxy_connect_timeout 59s;
        proxy_send_timeout 600;
        proxy_read_timeout 600;
        proxy_buffer_size 64k;
        proxy_buffers 16 32k;
        proxy_busy_buffers_size 128k;
        proxy_temp_file_write_size 64k;

        location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso)$ {
            gzip_static off;
            #add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            access_log off;
            expires 30d;
            break;
        }

        location ~* \.(js)$ {
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            access_log off;
            expires 10d;
            break;
        }

        location ~* \.(css)$ {
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            access_log off;
            expires 10d;
            break;
        }
    }

}

また、ネストせずに各場所にプロキシ構成を含めようとしましたが、このエラーが発生します

"proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except"

最新のOpenrestyを使用しています

答え1

/ステートメントの末尾はproxy_pass、エラー メッセージに記載されている「URI 部分」です。

設定ファイルには次の内容が含まれています。

location / {
    proxy_pass http://apache.backend.local/;
    ...
}

/( からlocation) を/(ステートメントから) に変換するのproxy_passは無意味です。したがって、「URI 部分」は不要であり、削除する必要があります。

proxy_passさまざまな方法で実装しようとしたとき正規表現 locationブロックでは、「URI 部分」によってエラー メッセージが表示されました。ただし、URI 変換を実行する必要がないためproxy_pass、末尾の . を削除しても問題ありません/

見るこのドキュメント詳細については。

関連情報