Nginxをサーバーとして使用していたpython(Django)でアプリケーションを開発しました。アプリケーションはsslクライアント証明書を使用してユーザーを認証しています.nginxサーバーと次の構成を使用してそれを達成しました:
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Ssl-Authenticated $ssl_client_verify;
proxy_set_header X-Ssl-User-Dn $ssl_client_s_dn;
proxy_pass_header Server;
proxy_redirect off;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://localhost:8000/;
}
次に、Django アプリ内で、SSL を使用するときに余分なヘッダーを取得しました。
開発が完了した後、heroku が SSL 終了自体を行っており、証明書を渡していないことを確認するためだけに、アプリケーションを heroku にデプロイしました。オンラインで検索しても、herokuではこれを達成できないという結論しか得られませんでした。
だから私はそれを見ると、いくつかのオプションがあります:
- SSL ターミネーションを処理する PaaS を見つけて、ヘッダーを提供してください
- いずれかの方法で SSL を自分で処理できる PaaS を見つける 新しい PaaS プロバイダーを見つける必要がある
- 必要な SSL ターミネーションのみを提供するプロバイダーを見つけると、proxy_pass がリクエストを heroku サイトに送信しますが、追加のヘッダーが含まれます。
そのようなプロバイダーの推奨事項はありますか? まだ開発段階にある間に無料のパッケージを提供してくれるようなプロバイダーを見つけることができれば、それは私にとって大きなプラスです..
ヘルパーに感謝します!