web-dev-qa-db-ja.com

別のIPからコンテンツを要求するページ

サーバー01でdrupal Webサイトを実行し、構成centos 6およびApacheを使用してドメイン名example.comのIP1を使用していました。

トラフィックが急増しているため、より強力なマシンが必要でした。そこで、ubuntu 13.10とnginxに変更することにしました。私のホストで、サーバー2をIP2で構築し、ubuntu 13.10とnginxをインストールしました。次に、サーバー01の/ var/www/htmlフォルダーをサーバー02の/ var/wwwフォルダーにコピーし、サーバー01にデータベースのmysqlダンプを作成し、サーバー02に同じものを転送し、そこで同じデータベース環境を作成しました。 drupalをデータベースに接続しました。ブラウザーでIP2にアクセスして、作業をテストしました。 drupalの問題を除き、すべてが正常に機能していました。とにかく転送を続行することにしました。

その後、ホストがIPを切り替えました。現在、IP2のサーバー01とIP1のサーバー02があります。最終結果は満足のいくものでした。ただし、奇妙な動作が確認されました。

サイトのページが(IP切り替え後)読み込まれているとき、IP2のリソース(png画像)を要求します。IP2は現在実際にはサーバー01にあります。ホストがサーバー01をシャットダウンしたため、リクエストで見つからないエラーが発生しました。デフォルトのコーディング手順として、drupalに対するすべての要求は、ドメイン名(またはIP)に関連して行われます。キャッシュを複数回クリアしても問題は解決しませんでした。

私の質問は、このようなIPが存在することをスクリプトがどのように知っていたのですか?このリクエストを生成するスクリプトの一部をどのように追跡できますか?

私の質問に情報がない場合は、以下にコメントしてください。編集として追加します。

どんな助けも大歓迎です。

編集:問題は解決しました。何が解決したのかわかりませんが、CDNを無効にして、構成ページを完全に書き直し、プロトコルをhttpsに変更すると、問題は解決しました。それを作成した正確な原因はまだ不明ですが、私はそれがもはや存在しないことを嬉しく思います。

1
Rana Prathap

質問を明確にするために、drupalベースのサイトでサーバーを移行した後、画像リンクが壊れているようです。リンクが作成されたとき、IPアドレスとドメイン名でサーバーにアクセスしている必要があります。次に、drupalが画像への完全リンクを作成し、相対リンクを作成しました。相対リンクを使用してリンクを生成しているコード、モジュール、またはプラグインを更新する必要があります。IPが再び切り替わった場合、このような問題は発生しません。 nginxのrewiteルールは正しいドメインに302リダイレクトすることもできますが、それはずさんな修正であり、壊れたリンクのバックアップ手段としてはより良いです。

PS nginxを使用しているので、リバースプロキシとして使用すると、大量のトラフィックを処理できるように拡張できます。

1
Frank