10

nginxをリバースプロキシサーバーとして設定していて、バックアップされたサーバー(apache)に設定されている特定のCookieを削除したい

私のウェブサイトは私が制御できないたくさんのクッキーを使用しています(Expression Engine CMS、理由を聞かないでください)。それらのCookieの一部(Cookie ABとCなど)を削除し、他のCookie(Cookie DとE)を保持したいと思います。

その後、リクエストにCookieがない場合にのみ、キャッシュされたコンテンツで応答するようにnginxを設定します。

これを行う方法を知っていますか?ありがとう

これまでのところ、構成には次のようなものがあります。

proxy_cache_path /opt/nginx/cache levels=1:2 keys_zone=mycache:20m max_size=1G;
proxy_temp_path /opt/nginx/tmp_cache/;
proxy_ignore_headers Expires Cache-Control Set-Cookie;
proxy_cache_use_stale error timeout invalid_header http_502;
proxy_cache_bypass $cookie_nocache;
proxy_no_cache $cookie_nocache;

..。

location / {
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_cache mycache;
    proxy_cache_valid  200 302  6h;
    proxy_cache_valid  404      1m;
    proxy_pass http://x.x.x.x:8080;
}
4

1 に答える 1

4

要求したことを達成するためにVarnishに切り替えたと既に述べましたが、正解は、headers-more-nginx-module基本的にVarnish関数と同じ(およびそれ以上)を可能にするを使用することでした。

于 2014-02-11T14:31:53.170 に答える