ホームページ >バックエンド開発 >PHPチュートリアル >プロキシを使用して、nginx エイリアスが PHP を実行できない問題やその他の fastcgi の問題を解決する

プロキシを使用して、nginx エイリアスが PHP を実行できない問題やその他の fastcgi の問題を解決する

WBOY
WBOYオリジナル
2016-08-08 09:22:171337ブラウズ
nginx のエイリアスは静的ファイルのみを提供するようです。PHP などの FastCGI では、エラー (通常は 404) が発生します。
この問題に対する解決策は、インターネット上に既にいくつかあります: http://u.odo.com.cn/space-2-do-blog-id-3087.html このような設定は相対的なものです。ルートディレクトリにプログラムがない場合や書き換えが必要ない場合など、単純な状況では確かに使えます。
実際のアプリケーションでは、比較的複雑な設定が必要になることがよくあります。たとえば、一般的な単一エントリのプログラムでは、存在しないファイルへのアクセスをindex.phpに引き渡す必要があり、これにより競合が発生し、アクセスエラーが発生します。さらに、このような構成は、将来の拡張にメンテナンスのリスクももたらします。
私も最近この問題に遭遇しましたが、Googleで検索しても適切な答えが見つかりませんでした。このため、逆のことをして仮想ホストを複数の仮想ホストに分割し、ルートディレクトリを使用してプロキシしてはどうだろうかと考えました。解決策の構成は次のとおりです:

コンテンツをクリップボードにコピーします alias / srv/www/bbs; proxy_set_header Host bbs.xxx.com;location ^~ /bbs {
alias /srv/www/bbs;
proxy_set_header Host bbs.xxx.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1;
}proxy_set_header 構成 (場所 / を含む) このように、書き換えやその他の構成はこれに影響を与えません

とても面倒なので、もう 1 つのリクエストをリバース プロキシする代わりに仮想ホストを使用してみてはいかがでしょうか。これには、AJAX、JavaScript、Cookie など、クロスでの処理が容易ではないなど、さまざまな理由が考えられます。 -ドメインの状況、URL の上位互換性など
上記では、nginx エイリアスが PHP を実行できないなどの fastcgi の問題を解決するためのプロキシの使用方法を、問題の側面も含めて紹介しており、PHP チュートリアルに興味のある友人に役立つことを願っています。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。