2

ホーム ネットワークで実行している 2 番目のサーバーとのセッションに関して、いくつかの問題があります。私はこれを趣味として行っており、正式に公開される前に新しいアプリケーションを開発しています。

IP を指すドメインがあり、サーバー 1 に正常に解決されますが、特定のドメインをサーバー 2 に送信するように mod_proxy を構成した後、不要なエラーと結果が得られます。現在のルーターはポート80を1つのローカルIPにしか送信できず、フィルタリングできないため、2番目のサーバーを通常のサーバーとして機能させ、最初のサーバーを通過させたい.

2 番目のサーバーに a.mydomain.com があり、問題なく解決しますが、この 2 番目のサーバーで Web アプリケーションを使用しようとすると、次のエラーが表示されます。

Warning: You are now accessing Mydomain from http://10.0.1.38/, but Mydomain has been configured to run at this address: http://a.mydomain.com/

これを修正できますか?

また、a.mydomain.com/phpmyadmin 経由で phpmyadmin にアクセスしようとすると、ログイン後に a.mydomain.com/proxy/phpmyadmin に変更されます。これを基本的にシームレスにして /proxy を追加しないように変更できますか。

サーバー1の仮想ホスト構成は次のとおりです

<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.server1domain.net
</VirtualHost>

<VirtualHost *:80>
ProxyPreserveHost On
ServerName a.mydomain.com
       <Proxy *>
        Order deny,allow
        Allow from all
       </Proxy>
ProxyPass / http://10.0.1.38/
ProxyPassReverse / http://10.0.1.38/
</VirtualHost> 

サーバー2のvhost構成は次のとおりです

<VirtualHost *:80>
    ServerAdmin admin@mydomain.com
    DocumentRoot /var/www/mydomaincom
    ServerName a.mydomain.com
</VirtualHost>

Centos 6.4 を実行しています

4

1 に答える 1

0

さて、私は最終的にこれを理解しました。いくつかのことは今では少し明白ですが、これは同様の状況にある他の人にとってもうまくいきます.

だから私のhttp.confの前に私はこれを持っていました

<IfModule mod_proxy.c>
   ProxyRequests Off
   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>

# destination directory

   ProxyPass /proxy http://10.0.1.38
   ProxyPassReverse /proxy http://10.0.1.38
</IfModule> 

これには 2 つの問題があるようです。/proxy/ ディレクトリが追加されているようで、IP の末尾にスラッシュがないため間違っているため、これに変更しました

<IfModule mod_proxy.c>
   ProxyRequests Off
   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>
</IfModule>

そして、最初のサーバーの http.conf vhost 構成は次のようになります

<VirtualHost *:80>

ProxyPreserveHost On

ProxyPass / http://10.0.1.38/

ServerName a.mydomain.com
</VirtualHost> 

IP の後の末尾のスラッシュを忘れると、502 エラーが発生する可能性が高くなります。DNS を解決できませんでした

2番目のサーバーの仮想ホスト構成は次のようになります

<VirtualHost *:80>
    ServerAdmin admin@mydomain.com
    DocumentRoot /var/www/mydomain
    ServerName a.mydomain.com
</VirtualHost>

同様の問題を抱えている他の人に役立つことを願っています。

于 2013-03-25T16:26:53.800 に答える