Re: お待ち下さい ( No.4 ) |
- 日時: 2021/03/14 11:26
- 名前: 匿名 ID:DeJq4FJ6
- 早速のご返答ありがとうございます。了解しました。
とりあえず3月の間は、 サーバサイドキャッシュが動作上の問題になるPHPファイルのみ、 Header set Cache-Control "no-store" で仮対処しておこうと思います。 続報は4月以降、待つことにします。
|
Re: 戻る・進むボタンを押した時のみキャッシュしたい ( No.5 ) |
- 日時: 2021/03/14 16:48
- 名前: ちらみ◆kBt3KPJY0E ID:pvPHy9XQ
- 仰るような症状になった覚えは無いのですが、取り急ぎApacheのグローバル設定にてご要望の設定としました。
# Defaults if commented: EnableMMAP On, EnableSendfile Off # EnableMMAP off EnableSendfile Off
ちなみにこれまでは両方ともOnでした。 何故そうしたのかも覚えてないんですが
もし別の問題が発生した場合は元に戻して、お使いのドメイン部分のみを上記設定とします。
|
Re: No.5 ( No.6 ) |
- 日時: 2021/03/14 22:05
- 名前: 匿名 ID:DeJq4FJ6
- なんと、お忙しい中の早速の設定変更、ありがとうございます…!
なるほど、Onだったのですね。
ただ、2021年3月14日21時58分現在も、 症状が続いているようなので、もしかしたらApacheの再起動がまだなされていないのかもしれません。 EnableMMAP off EnableSendfile Off 調べてみると、これらの設定変更の反映には、Apacheの再起動が必要とのことです。
念のため、2021年3月14日21時58分現在、 自分のブラウザ側の不具合の可能性も考慮して、 自分の持っているパソコン上のChromeだけでなく、 ・Firefox ・自分のAndroidスマホのChrome ・自分のiPhoneスマホのSafari、 ・実家のパソコンのChrome ・自分のパソコンのChromeのシークレットモード で再度検証してみましたが、 いずれも同じ症状が見られます。 つまり、まだ旧設定の状態が残っているようです。
※ちなみに、実はこのフォーラムのBBS自体にも同様の症状がありまして、返信が来たにもかかわらず返信前の状態が表示されるので、 右クリックで「フレームを再読み込み」をしてやらないと返信が表示されない状態のようです。
報告が度重なってしまい、すみません。
|
再起動はしています ( No.7 ) |
- 日時: 2021/03/14 22:16
- 名前: ちらみ◆kBt3KPJY0E ID:pvPHy9XQ
- Apacheは当然再起動しています。
ここの掲示板は確かにキャッシュされてしまいますが、これは特にChromeで顕著でiframeだからある適度仕方ないかなと諦めてます。 CGIに直接アクセスすれば大丈夫だと思います。
当サーバではmod_fcgidを使っているのでその辺も関係してるかもですが今はちょっと調べてる余裕がないです。
|
Re: 再起動はしています ( No.8 ) |
- 日時: 2021/03/15 09:02
- 名前: 匿名 ID:DSq2XAVc
- なるほど、当然再起動してますよね…失礼いたしました。
となると、原因は EnableMMAP On EnableSendfile On だった点以外にもあるかもしれないのですね。 謎が深まりますね(´・ω・`) ただ、 EnableMMAP Off EnableSendfile Off にする事ができただけでも大きな前進なので、 これまたお忙しい中にもかかわらずの調査、ありがとうございます。
mod_fcgid周りなど、その他の怪しい点の調査については 余裕が出来てからの無理のない範囲でも大丈夫です。 厄介なIssueを持ち込んでしまい、申し訳ない限りでもあります(´・ω・`)
今は.htaccessの "no-store" による仮対処で対応中ですが、 検証URLである https://sinst.ie-t.net/a.html には "no-store"の影響が出ないように設定したので、 いつでもそこから検証できるようにしてあります。
掲示板についても了解です。
|
【続報】解決しました!(Re: Re: 再起動はしています) ( No.9 ) |
- 日時: 2021/03/15 18:20
- 名前: 匿名 ID:8DK/kqdM
- 解決した可能性が濃厚な続報です:
Header set Cache-Control "no-store" ではなく Header set Cache-Control "max-age=0" を指定すると、 望み通りの挙動になりました。
一応、 Header set Cache-Control "max-age=0" は既に昨日も試していましたが、昨日は効果が出なかったため、一時は無理かと思われました。 しかし、今日再び "max-age=0" を試してみると、なぜか効果があり、理想の挙動になりました。
おそらく、昨日と今日とで違うのは、EnableMMAP と EnableSendfile の状態です。 よって、今の所、
「EnableMMAP と EnableSendfile が Off になっていて、且つ、 "max-age=0" を指定すれば、理想通りの挙動になる」
という "仮説" が立っております。
たった今、自分のPCのChrome・自分のPCのFirefox・会社のPC・iPhoneのSafari・AndroidのChromeにて、解決を確認できました。 今となっては検証URLのみならず本番PHPも全て完全に理想の挙動となったため、事実上の解決と見て良いと思います。やはり、 EnableMMAP Off EnableSendfile Off を指定できた点が大きかったようです。対応していただき、本当にありがとうございました!
|
mod_expires ( No.10 ) |
- 日時: 2021/03/15 18:47
- 名前: ちらみ◆kBt3KPJY0E ID:ndJwt45Q
- 検証ありがとうございます。
Apacheのmod_expiresが関係していそうなのでグローバル設定で下記の様にしてみました。 好みに応じて.htaccessで調整下さい。 あまりキャッシュさせなさ過ぎるのもサーバや回線負荷に繋がるので難しいところです。
■変更前 ExpiresActive On ExpiresDefault "access plus 1 month"
■変更後 ExpiresActive On # Default ExpiresDefault "access plus 0 seconds" # JavaScript ExpiresByType text/js "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" # CSS ExpiresByType text/css "access plus 1 month" # images ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" # Favicon and cursor images ExpiresByType image/x-icon "access plus 1 month" # PDF ExpiresByType application/pdf "access plus 1 month" # Fonts ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-opentype "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
以上です。
|
Re: mod_expires ( No.11 ) |
- 日時: 2021/03/15 23:41
- 名前: 匿名 ID:8DK/kqdM
- グローバル設定の整備まで、ありがとうございます。
キャッシュは難しいテーマですよね。 (画像などは差し替え時に問題が起こった場合に .htaccess で調整するかもしれませんが、)基本的にはPHP以外については積極的にキャッシュしようと思っているので、このままの状態で運用してみます。 今回はどうもありがとうございました。(`・ω・´)
(※本題から逸れてしまい恐縮ですが、 PHPのバージョンがばれてしまう X-Powered-By ヘッダが送られる状態はセキュリティ上良くないとのことなので、 php.iniにて expose_php=Off を指定して、 X-Powered-By ヘッダ が送られないようにしておけると、なおありがたく思います!)
|
対応しました ( No.12 ) |
- 日時: 2021/03/16 10:56
- 名前: ちらみ◆kBt3KPJY0E ID:utndJphk
- ご報告ありがとうございます。
> expose_php=Off 対応しました。
|
Re: 対応しました ( No.13 ) |
- 日時: 2021/03/16 19:46
- 名前: 匿名 ID:bYmRPoks
- ありがとうございます、
X-Powered-By ヘッダ の消滅も無事確認もできました。 これで、全ての問題が解決しました。 この度は本当にありがとうございました!
|