list.ospn.jpのMailmanのWebサーバーをHTTPS対応したら、諸々操作できなくなったと言われたので、以下を参考にMailman側にも対応を入れました。
Mailmanで使ってるドメインが1つなら変数にハードコーディングでも良かったのですが、弊鯖の場合3つくらいドメインが設定されているので、文字列置き換えを使うことにしました。あと変更前後の出力をつけときました。
# enable_https.py # Based: https://www.hsbt.org/diary/20170713.html def enable_https(mlist): mlist.Lock() print("Before URL: " + mlist.web_page_url) mlist.web_page_url = mlist.web_page_url.replace("http:","https:") print("After URL : " + mlist.web_page_url) mlist.Save()
CentOS6のRPMでインストールしたmailmanでは、/usr/lib/mailman/bin/enable_https.pyとして配置した上で実行する必要がありそうでした。
(hogeに対して実行して確認) # /usr/lib/mailman/bin/withlist -r enable_https hoge Importing enable_https... Running enable_https.enable_https()... Loading list hoge (unlocked) Before URL: http://list.ospn.jp/mailman/ After URL : https://list.ospn.jp/mailman/ Unlocking (but not saving) list: hoge Finalizing (全部に適用) # /usr/lib/mailman/bin/withlist -r enable_https -a