
静的ファイルなどをキャッシュするために、Apache で Nginx をリバース プロキシとして使用しようとしています。新規インストールで、URI が Apache に渡されないという問題が発生しています。基本的に、vBulletin フォーラムがあり、SEO プロキシとして vBSEO を使用しています。問題は、既に存在するファイルを除くすべての URL に対して 404 が生成されることにあります。
答え1
nginx 設定の関連部分を教えていただけますか? 現時点では何が間違っているのか推測できません (ただし、hosts ファイルにないのに 'localhost' を使用しているため 127.0.0.1 に解決されていない、apache のポート番号が間違っている、ホスト ヘッダーを追加し忘れている、など)。通常は、次のようになります。
server {
listen 80;
server_name www.example.com;
# normally some checking here for static content which exists as file
# like images, js, etc, with a 'break', with at the end:
location / {
proxy_pass http://127.0.0.1:<portnumber apache is on>/;
proxy_redirect off;
proxy_set_header Host $host;
}
}
答え2
結局、原因を SEO フレンドリーなプラグイン (vBSEO) にまでさかのぼって調べました。.html 拡張子のリンクが生成され、nginx がキャッシュするように設定されていたようです。これらのリンクは物理的に存在していなかったため、404 が生成されていました。