3

目標は、apacheを強制終了せずに、nodejsを使用してポート80でリッスンすることです。

私のネットワークに関する知識は非常に基本的なものだと言わざるを得ません。

アップデート

ProxyPass ProxyPassReverseローカルマシンで使用しようとしていますが、問題があります。

    Alias /test /media/www-dev/public/test
    <Directory /media/www-dev/public/test>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>

    ProxyRequests off

   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>
   <Location />
     ProxyPass /test http://localhost:3000/
     ProxyPassReverse /test http://localhost:3000/
   </Location>

http://localhost/testブラウザで起動するとメッセージが表示さCannot GET /test/れます。ポート3000でリッスンを停止するとService Temporarily Unavailable、ノードアプリがポート3000でリッスンしている503が表示されます。

「プロキシ」の行にコメントを付けると、URLhttp://localhost/testに再度アクセスできます。

URLにアクセスできないのはなぜhttp://localhost/testですか?http://localhost:3000/プロキシが代わりにエイリアス/testのパスをたどって到達しようとするためですか?

ありがとう !

4

2 に答える 2

4

ノードアプリのApacheに仮想ホストを作成し、リクエストをプロキシする必要があります。

これが/etc/apache/sites-available/dogself.comで私のものがどのように見えるかです

<VirtualHost 69.164.218.75:80>
    ServerName dogself.com
    ServerAlias www.dogself.com
    DocumentRoot /srv/www/dogself.com/public_html/
    ErrorLog /srv/www/dogself.com/logs/error.log
    CustomLog /srv/www/dogself.com/logs/access.log combined

    ProxyRequests off

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

    <Location />
        ProxyPass http://localhost:3000/
        ProxyPassReverse http://localhost:3000/
    </Location>

</VirtualHost>

ただし、これを機能させるには、調査することがたくさんあるようです。ドキュメントを読み始める

于 2013-01-05T07:01:03.680 に答える
2

仮想ホストの代替アプローチは次のようになります

<VirtualHost *:80>
    ServerAdmin info@DOMAIN.com
    ServerName DOMAIN.com
    ServerAlias www.DOMAIN.com
    ProxyRequests off

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

    <Location />
            ProxyPass http://localhost:3000/
            ProxyPassReverse http://localhost:3000/
    </Location>

</VirtualHost>

内部サーバーエラーを修正するには、適切なapache拡張機能を有効にするだけです。

sudo a2enmod proxy_http
sudo service apache2 restart
于 2014-12-25T19:29:10.370 に答える