fixpoint / ke2-docker

0 stars 0 forks source link

フロントエンドの手前にリバースプロキシを配置してSSLアクセスするとアクセス禁止になる #47

Open tichi73 opened 3 months ago

tichi73 commented 3 months ago

クラスタ構成でフロントエンドの手前にリバースプロキシとして HAProxy を配置して SSL アクセスさせようとしたところ、CSRF検証エラーでアクセス禁止(403) になった。

image

なお、HTTP アクセスの場合は問題なくアクセス振り分けができる(ただし nginx.conf で HTTP -> HTTPS のリダイレクトの無効化は必要)。

HAProxy 側の設定に不備がある可能性も、Django 側の設定に不備がある可能性があるが、原因の調査と対策の検討を行なう。

tichi73 commented 3 months ago

HAProxy の設定で以下のように X-Forwarded-Proto ヘッダを追加するようにすることでエラーなく、アクセスを3台に振り分けされることも確認できた。

frontend main
    bind *:80
    bind *:443 ssl crt /etc/haproxy/takahashi-ke2.pem
    http-request add-header X-Forwarded-Proto https    ★
    default_backend         ke2-cluster