web-dev-qa-db-ja.com

HAProxyがHTTPをHTTPSにリダイレクトしないようにする

私はHAproxyを使用してApacheサーバー間でリクエストの負荷を分散しています。特別なユースケース(キックスタートファイルの提供)のためにHTTPSを無効にしようとしていますが、これを行うためにポート8000​​を使用しています。おおよそ次のようなHAProxy構成があります(一部の構成は省略されています)。

frontend provision_frontend_b
        bind 10.1.1.1:8000
        mode http
        default_backend provision_backendb


backend provision_backendb
        mode http
        server server1 127.0.0.1:8000 weight 1
        server server2 10.1.1.2:8000 weight 1

HAProxyが、ポート8000​​の外部IPに対して行われた要求を、Apacheがリッスンしているポート8000​​のループバックアドレスにリダイレクトするようにします。 Apacheは、HTTPを介して静的ファイルを提供するように構成されています。

不思議なことに、フロントエンドのDNS名を使用してブラウザからサーバーにアクセスすると: http://myhost.mydomain:80 、HTTPSにリダイレクトされ、SSL証明書エラーが発生します。 IPを試してみると http://10.1.1.1:80 、動作します(HTTPSにリダイレクトされません)。

HAProxyがこれを行う理由はありますか?他のHTTPのみのApacheサーバーにリダイレクトするようにHAProxyを構成したのに、このエラーが発生するため、Apacheではないようです。

HAProxy構成に表示されるのは、SSLにリダイレクトするように構成された別のフロントエンドだけです。

frontend http_frontend
        bind :80
        mode http
        redirect scheme https if !{ ssl_fc }

ただし、別のポートでリッスンしています。リダイレクトをコメントアウトしようとしましたが、問題は解決しませんでした。

3
blindsnowmobile

いいえ、Haproxyではありません。 Haproxyはhttpsリダイレクトとは何の関係もありません。 myhost.mydomainが内部307リダイレクトのためにWebブラウザにキャッシュされたようです。これは常にhttpsモードでトラフィックを送信します。ブラウザでキャッシュとCookieをクリアします。動作するはずです。サーバー側から何かできるかどうかわかりません。一度この問題に直面しました。強制的にhttpスキームにリダイレクトしようとしましたが、多くのリダイレクトエラーが登場しました。

1
Gaurav Pundir