👋
CTFdのメール確認リンクをHTTPSにしたい
CTFdをのメール確認リンクのフォーマットに関する問題とその解決策を説明する。
なお、CTFdのIssueに投げたものである。
環境
- CTFdをDockerコンテナでPortainer.ioを使用して稼働
- 使用しているイメージ:
ctfd/ctfd:latest
問題
GmailのSMTPサーバーを用いてメール機能を設定したが、サインアップ確認メールに含まれる確認リンクが以下のようにHTTP形式で表示される。
http://172.17.0.7:8000/confirm/*
HTTPSを使用し、指定したホスト名でフォーマットされたリンクになるよう設定したい。
具体的には次のような形である。
https://example.com/confirm/*
解決策
実は仕様を根本から勘違いしており、メール内のURLはリクエスト元に基づいて自動生成されるようだ。登録がローカルで行われる場合はローカルIPアドレスがURLに使用されるが、外部からのリクエストではFQDNが含まれる。
実際に外部からHTTPSでアクセスしメール認証を行うと、望み通りの形でURLが発行された。
Discussion