私は基本的な作業nginxの+ SSI例セットアップしようとしている:(簡潔にするため、ちょうど適切な部分)nginxの/ SSIの独立した断片のキャッシュ
nginxの設定ファイルを:
ssi on;
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:20m max_size=20m inactive=60m use_temp_path=off;
server {
listen 80;
server_name localhost;
location/{
proxy_cache my_cache;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_buffering on;
proxy_pass http://127.0.0.1:81;
}
}
server {
listen 81;
root /path/to/root;
location ~ ^/.+\.php {
fastcgi_pass 127.0.0.1:9000;
}
}
ssi.php :
<?php
header('Cache-Control: public, s-maxage=5');
?>
Time: <?php echo time(); ?>
Fragment time: <!--# include virtual="/time.php" -->
time.php:
<?php
header('Cache-Control: no-cache');
echo time();
ザ・がうまく作品が含まれています
時間:1466710388 フラグメント時間:1466710388今
を、第二後、私はまだキャッシュされるページ(ssi.php)が、time.php
フラグメントを期待します新鮮されるように:
それは完全にSSIページがフラグメントと一緒に更新された後5秒間、同じまましかし時間:1466710388 フラグメント時間:1466710389
:
時間:1466710393 フラグメント時間:私は前にこれをやった1466710393
ESIとVarnishを使用し、SSIと同じように動作することを期待してください。これを仮定するのは間違っていますか?私はこのためにオンラインで答えを見つけることができず、さまざまなキャッシュ制御ヘッダーを試しましたが、これが正しい方法であると確信しています。私はここで何が欠けていますか?
あなたは素晴らしいです!私はこれをあきらめていましたが、 'ssi on'指令を動かすことはやりました。どうもありがとうございます。 –