三種方法
直接把HTTP (port 80) 改到 HTTPS (port 443)來用,不需要任何SSL cert
在防火牆上用port mapping也行,virtual server也行, linux tomcat就直接在config裡面改,IIS也是直接改成https直接用就好,不用import任何cert
警告:用這種方式的話瀏覽器會出現警告說這個網站的cert無效,有可能不給你正常瀏覽,不過可以靠瀏覽器的進階設定繞過瀏覽器安全機制
自己用工具創建SSL cert, 又叫self-signed certification或, 網上工具超多,例如
aws certificate manager
Letsencrypt
cert+
digicert certcentral
openSSL
SSLs
工具太多太多了,因為不是什麼高科技的東西,做好cert之後你手上會有
Cert Request
private key
public key
Root CA (intermedia CA)
這四種東西,每種都有格式的區別,要看你是哪種plaform載體
警告:用這種方式的話瀏覽器會出現警告說這個網站的cert無效,有可能不給你正常瀏覽,不過可以靠瀏覽器的進階設定繞過瀏覽器安全機制
就是真的去買一個真的cert了
多謝如此詳細的回答.
如果我這個系統有PC版本和手機APP版本.
PC版本我想直接在內部用這個連結 https://192.168.1.101:8001, 只允許內部連接, 不能在外面連接
手機APP版本, 我需要給公司員工在外面工作的時候可以使用, 所以我會申請一個SSL證書給它
手機APP版本的連接 https://abc.com:8002
請問可以這樣操作嗎?
謝謝
以稽核的角度看的話,外部的作法完全沒問題,然後你內部的作法有做到"僅允許內部使用"跟"使用HTTPS加密"這兩樣,我覺得如果是書面上要符合安全規範是已經做到了。但是如果遇到一個真的在意傳輸安全性的稽核真要挑你毛病也不是沒有,例如
既然你都有購買正式SSL cert了,為何不在內部的HTTPS裡也import進去?
你要去改內部user瀏覽器的安全設定(降低安全性),才能讓user正常存取到系統,這個有點安全疑慮。
不管怎麼說,要實施多少安全規範,全看你的系統的價值、還有你公司願意付出多少成本去做,是一種商業決定,沒有什麼絕對答案的
另外8002的port在某些公用wifi環境,他預設是被阻擋的
我買的SSL證書是給外部域名 abc.com用的, 也可以import到內部IP 192.168.1.101用嗎?
不做另外的設定,而直接import的話,你user瀏覽器上會被警告這是一個無效的cert, 因為瀏覽器會發現正在連線的域名跟其自帶的cert的名字不同 (連上的是192.168.1.101, cert卻是abc.com)。
如果想內部用這個abc.com的cert的話,需要搭配DNS server 或者host table一起用
例如內部user 改成用 網域名abc.com去存取系統,然後你內部的DNS record就把abc.com指向192.168.1.101,這樣就可以符合瀏覽器的安全規範而不會出警告了。
那如果內部userPC想走外網去存取system怎麼辦?
當你內部user的PC需要經外部網站存取系統的時候,就要把這台DNS server改去一個外部DNS server (例如最出名的8.8.8.8)去拿真實IP, 或是在user pc加一條host table recordy走外部網路。
另外 你192.168.1.101 的網站服務,必須要是"default website"的設定!!
也就是任何進來的請求,如果沒有指名要找哪個網站名,就一律顯示這個系統網站。因為當你有複數網站在一台server的玩法又不同了,講太多怕你搞混,先保留
感謝回答, 非常詳盡和實用
內部是可以用 SSL 的!
只要
內部DNS SERVER設定好A對應, 比如 www.ccc.com.tw 對應 192.168.1.101
內部電腦的DNS設定是內部DNS SERVER
就可以用
https://www.ccc.com.tw 連到 https://192.168.1.101
跟在外面連一樣!