私はまだ Apache とその設定の初心者で、Redmine の Ruby アプリケーションと静的コンテンツを提供している Web サーバーで問題が発生しました。
アパッチ2.2
現在、次のプロキシが設定されています:
ProxyPass /portal https://mypage.domain.com:8181/portal
ProxyPassReverse /portal https://mypage.domain.com:8181/portal
ProxyPass /examples http://mypage.domain.com:8555/portal
ProxyPassReverse /examples http://mypage.domain.com:8555/portal
ProxyPass / balancer://redmine_cluster/
ProxyPassReverse / balancer://redmine_cluster/
<Proxy balancer://redmine_cluster>
BalancerMember http://REDMINEMACHINENAME:3000/
</Proxy>
DocumentRoot "X:/app/Redmine/public"
<Directory "X:/app/Redmine/public">
Require all granted
Options -MultiViews
</Directory>
RequestHeader set X-Forwarded-Proto "https"
アクセスしようとすると:
レッドマイン:
mypage.domain.com
Redmine に移動します。いいですね。
/ポータル:
mypage.domain.com/portal
失敗する
見つかりません 要求された URL /portal/ はこのサーバー上に見つかりません。
WEB.SERVER.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207
MY.IP.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207
/例
mypage.domain.com/examples
MY.IP.ADDRESS - - [09/Oct/2015:16:10:11 -0700] "GET /examples/ HTTP/1.1" 200 1285
作品
Apacheを設定して、
mypage.domain.com
mypage.domain.com/portal
mypage.domain.com/examples
行きたい場所すべてに行くにはどうすればいいですか?
もっと適切なタイトルについて何か提案はありますか?
答え1
これは回答ではありませんが、コメント欄のスペースが足りませんでした。ラップトップであなたの設定をセットアップしました。/portal の https サイトにプロキシしているために、間違いなくこの問題が発生しています。http サイトに送信できれば、問題はすぐに解決します。確認したところ、あなたと同じように (おそらく)、mod_proxy と mod_proxy_connect が有効になっています (少なくとも設定では)。しかし、何らかの理由で、ポートに関係なく、リクエストが https サイトに送信されません。Ubuntu では、実際にロードされているモジュールを確認するのが少し難しいです。
スニファーでポートへのデータがないことを確認後、apache2 を strace して次の結果を得ました。
[pid 397] read(5, <unfinished ...> [pid 458] accept4(4, 0xa9ee615c, [128], SOCK_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
これはあまり役に立ちませんが、リクエストがまったく行われていないことを示しています。https 部分を単独で操作すると、他のプロキシされた URL に関係なく同じエラーが表示されます。