9

ルームメイトと私はそれぞれ、セットアップしようとしている別の Web サーバーを持っています。サーバー名に基づいて、彼のサーバーが私のマシン (1 つのルーターの背後に 2 つの別々のマシンがあります) にリクエストを転送するように、mod_proxy を使用しようとしています。現在、apache 構成にあるものの基本を説明しましたが、2 番目のドメイン (最初の www ドメインは正常に動作します) にアクセスしようとすると、403 Forbidden エラーが発生します。

NameVirtualHost *:80

<VirtualHost *:80>
 DocumentRoot /var/www
 ServerName www.<domain1>.com
</VirtualHost>

<VirtualHost *:80>
 ProxyPreserveHost On
 ProxyPass / http://<IP addr of other box>:80
 ProxyPassReverse / http://<IP addr of other box>:80
 ServerName <dummydomain>.gotdns.com
</VirtualHost>
4

2 に答える 2

17

mods-enabled/proxy.conf がプロキシ リクエストをブロックしている可能性があります (デフォルトではすべて拒否されます)。代わりに以下を含める必要があります。

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

編集: また、mod_proxy サブモジュールが mods 対応 (この場合、mods-available/proxy_http.load である http サブモジュール) にシンボリック リンクされていることを確認してください。

于 2009-04-05T22:56:48.097 に答える
0

両方のルートを入れるだけです:

<VirtualHost *:80>
    DocumentRoot "/app/"
    ProxyPreserveHost On
    ProxyRequests Off
    ServerName app.yourdomain.com

    ProxyPass /app http://yourIP:yourPort/app/
    ProxyPassReverse /app http://yourIP:yourPort/app/

    ProxyPass / http://yourIP:yourPort/app/
    ProxyPassReverse / http://yourIP:yourPort/app/
</VirtualHost>

<Location "/app/" >
    ProxyPass "http://yourIP:yourPort/app/"
    ProxyPassReverse  "http://yourIP:yourPort/app/"
    ProxyPassReverseCookiePath  "/app/"  "/app/"
    ProxyHTMLEnable Off
    ProxyHTMLExtended On
    ProxyHTMLURLMap "/app/" "/app/"
    Order allow,deny
    Allow from all
</Location>

これは私から働きました

于 2016-01-26T11:43:27.223 に答える