上節中,我們實作了使用證書免密碼登入郵箱和管理控制台。
細心的朋友會發現,直接通路https://mail.imycloud.com通路郵箱,還是需要使用者名和密碼認證,沒有使用證書認證。要想使用證書認證還得在域名後面加”:9443/certauth”,很麻煩,是以,我們現在就來完善一下證書雙向認證登入。
更多内容,請通路 Darren部落格
基本思路:
修改預設登入url來實作。
強制使用者在通路https://mail.imycloud.com的時候定向到https://mail.imycloud.com:9443/certauth和https://mail.imycloud.com:9443/certauth/admin
首先,添加一個虛拟主機:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com +zimbraVirtualHostname mail.imycloud.com
凡是通路mail.imycloud.com的請求,都将被重定向。
修改web用戶端登入url,強制重定向到證書認證端口:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraWebClientLoginURL ‘https://mail.imycloud.com:9443/certauth’
修改web用戶端登出url,使得再次登入也得需要證書登入,并且可以實作快捷登入:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraWebClientLogoutURL ‘../?sso=1′
修改管理控制台登入url,強制重定向到證書認證端口:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraAdminConsoleLoginURL ‘https://mail.imycloud.com:9443/certauth/admin’
修改管理控制台登出url,效果跟web用戶端登出一樣:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraAdminConsoleLogoutURL ‘../?sso=1′
注意:最後一條指令建議不配置,因為管理控制台登出時不支援’../?sso=1′這種方式,如果配置了這條指令,當你在管理控制台中點選登出時,系統會先登出然後再自動登入進管理控制台。這是zimbra的bug。
重新啟動mailbox服務:
root@mail:/opt/zimbra# su zimbra
zimbra@mail:~$ zmmailboxdctl restart
Stopping mailboxd…done.
Starting mailboxd…done.
接下來,測試通路:
https://mail.imycloud.com
https://mail.imycloud.com:7071
的通路都将被重定向到:
https://mail.imycloud.com:9443/certauth
https://mail.imycloud.com:9443/certauth/admin