Nginx が有効である場合、IP ベースの仮想ホストが正しく機能しません

Created:

2016-11-16 13:09:54 UTC

Modified:

2017-06-05 05:41:01 UTC

0

Was this article helpful?


Have more questions?

リクエストを送信

Nginx が有効である場合、IP ベースの仮想ホストが正しく機能しません

Applicable to:

  • Plesk 11.0 for Linux

症状

Nginx を有効にすると、複数の IP にデフォルトドメインが割り当てられている場合に、IP ベースの仮想ホスト(デフォルトドメインが IP)が正しく機能しません。

原因

Nginx は、IP ベースのプロキシリクエストを作成する際に、Apache にアドレス 127.0.0.1 で接続してリクエストを送信します。つまり、Apache から見ると、すべての仮想ホストが同じ IP アドレス 127.0.0.1 ということになり、IP ベースの仮想ホストが正しく機能しなくなります。

つまり、 /usr/local/psa/admin/conf/ip_vhosts_bootstrap.conf ファイルに定義されている最初の仮想ホストが、デフォルトドメインが割り当てられていないものを含め、すべての IP アドレスのデフォルトとなります。

解決策

この問題は将来のアップデートで修正され、新しい KB 記事が作成される予定です。KB 記事の作成時に通知を受信したい場合は、Parallels Plesk Panel 製品関連の新規 KB 記事について通知を受け取るよう 購読 設定をすることをお勧めします。

回避策として、以下の手順を実行できます。

  1. /usr/local/psa/admin/conf/templates ディレクトリに進みます

    # cd /usr/local/psa/admin/conf/templates 
    
  2. custom というサブディレクトリを作成します。

    # mkdir custom 
    
  3. /usr/local/psa/admin/conf/templates/default/nginx.php ファイルを custom ディレクトリにコピーします

    # cp default/nginx.php custom/ 
    
  4. nginx.php ファイルを編集して、 127.0.0.1 $host または $server_addr に置き換えます

    # vi custom/nginx.php 
    
  5. 以下のような結果になります

    proxy_pass http://$server_addr:<?php echo $VAR->server->webserver->httpPort ?>;
    
  6. ウェブサーバの構成をリビルドします

    /usr/local/psa/admin/sbin/httpdmng --reconfigure-all
    
他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。