私は、Apacheプロキシとhttp_proxyモジュールを有効にして、ポート80から着信するいくつかのリクエストを、仮想ホストに対してのみlocalhost:3000(ノードのnuxtが実行されている)にリバースプロキシします。
Virtualhostのプロキシ設定は非常に簡単です。
ProxyRequests off
<Proxy *>
Require all granted
</Proxy>
ProxyPreserveHost on
ProxyPass / http://localhost:3000/ retry=1 acquire=3000 timeout=3000 keepalive=off
ProxyPassReverse / http://localhost:3000/
ProxyTimeout 3000
ProxyVia full
Apacheのバージョン:Apache/2.4.18(Ubuntu)
問題は断続的に繰り返されるこれらの2つのエラーによって文字通りフラッディングされるApacheエラーログにあります:
[proxy_http:error] [pid :pid] (20014)Internal error (specific information not available): [client xxx.xxx.xxx.xxx:xxxxx] AH01102: error reading status line from remote server localhost:3000
[proxy:error] [pid :pid] [client xxx.xxx.xxx.xxx:xxxxx] AH00898: Error reading from remote server returned by /
私は多くのガイドと提案(SetEnv proxy-initial-not-pooled 1、keepalive off、bla bla)に従ってきましたが、どれも役に立ちませんでした。誰かがこのことについて手がかりを持っていますか?多分それはエラーではなく、ProxyRequestsがオフになっているのでエラーである必要がありますか?ただし、この2つのエラーだけでログがいっぱいになることはありません。
[proxy:error] [pid :pid] [client xxx.xxx.xxx.xxx:xxxxx] AH00898: Error reading from remote server returned by /
これは、ApacheがProxyPass
の背後にあるサービスからの応答を読み取れなかったことを意味します。おそらく、ポート3000のサービスは、実際にはそのコンテンツの提供に問題があります。そこで問題を探し、ポートに直接アクセスしてみてください。