後來,阿舍才想起來,阿舍在若干年前有用 Lotus Domino 當 CA 伺服器,可以自己發憑證給自己,所以,阿舍就去找找看 Ubuntu 和 Apache 要怎麼做的到,結果,阿舍就找到這篇、這篇和這篇有說明如何弄,阿舍在 Ubuntu 11.10 測試了一下,果然是可以的,阿舍把操作步驟整理如下。( 阿舍的經驗來說,這些設定應該也適用在 Ubuntu 10.04、Ubuntu 10.10 和 Ubuntu 11.04 等版本。)
1.安裝 OpenSSL
Ubuntu 在 10.04 後,好像就有預裝 OpenSSL 了,可以用下面的指令裝裝看,有裝過再裝一遍也不會有事的哩 !
sudo apt-get install openssl
2.啟用 Apache 2 的 SSL 模組
Apache 預設是沒有啟用 SSL 模組的,請用下面的指令來啟用。
sudo a2enmod ssl
Apache 預設是沒有啟用 SSL 模組的,請用下面的指令來啟用。
sudo a2enmod ssl
3.建立放憑證的資料夾
請先用下面的指令來建立立要放憑證的資料夾,在下一個步驟會用到。
sudo mkdir /etc/apache2/ssl
4.建立自己認證
請先用下面的指令來建立立要放憑證的資料夾,在下一個步驟會用到。
sudo mkdir /etc/apache2/ssl
4.建立自己認證
請用下面的指令來產生憑證,-days 後面的參數365是憑證的有效日期,可以依需要自行調整,-out 和 –keyout 是憑證和金鑰產出後要存放的路徑。
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key
執行上面的指令之後,會出現下面的問題,這些是會寫到憑證裡的資訊,但是,不一定要全都填的。
5.修改虛擬主機的設定
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key
執行上面的指令之後,會出現下面的問題,這些是會寫到憑證裡的資訊,但是,不一定要全都填的。
5.修改虛擬主機的設定
阿舍是把OwnCloud 2 裝在虛擬主機裡,所以,要調整擬主機的設定檔,把第一行由原來的「*:80」改成「_default_:443」,然後再加入下面的三行,如果產生憑證時,有變更過產出的檔名或路徑時,就要修改第二行和第三的路徑和檔名。
<VirtualHost _default_:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
...
6.重啟 Apache 2
啟用好 Apache 的 SSL 模組並設定好虛擬主機之後,就要把 Apache 重啟來讓新設定生效,請下面的指令來重新啟動 Apache。
sudo /etc/init.d/apache restart
或
<VirtualHost _default_:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
...
6.重啟 Apache 2
啟用好 Apache 的 SSL 模組並設定好虛擬主機之後,就要把 Apache 重啟來讓新設定生效,請下面的指令來重新啟動 Apache。
sudo /etc/init.d/apache restart
或
sudo service apache2 restart (Ubuntu 11.10)
7. 防火牆
7. 防火牆
如果有啟用防火牆的話,要打開 443 埠號,不然,網站會打不開的,阿舍有啟用 ufw,所以,就用下面的指令來啟用 443 port。
sudo ufw allow 443
sudo ufw allow 443
8.開啟網站
最後,就可以用「https://」來開啟網站,如果 SSL 有設定成功,應該就會出現警告訊息,這是因為憑證沒有經過第三方公司認證過,所以,瀏覽器會警告說這個憑證可能是假的,不要管它,繼續操作下去就好了,如果是用 Firefox,就要點選「新增例外網站」,如果是用 Chrome,那就要點選「仍要繼續」, IE 的話,就點選「繼續瀏覽此網站(不建議)」的連結進入網站,進入網站之後,應詃就是用 https,也就是 SSL 在連線了哩 !
進入網站後,如果去點選網址列的憑證資訊,應該就會出現之前在步驟 4 所輸入的資訊哩 !
最後,就可以用「https://」來開啟網站,如果 SSL 有設定成功,應該就會出現警告訊息,這是因為憑證沒有經過第三方公司認證過,所以,瀏覽器會警告說這個憑證可能是假的,不要管它,繼續操作下去就好了,如果是用 Firefox,就要點選「新增例外網站」,如果是用 Chrome,那就要點選「仍要繼續」, IE 的話,就點選「繼續瀏覽此網站(不建議)」的連結進入網站,進入網站之後,應詃就是用 https,也就是 SSL 在連線了哩 !
進入網站後,如果去點選網址列的憑證資訊,應該就會出現之前在步驟 4 所輸入的資訊哩 !
更新:
其實,現在用 Let's Encrypt 來申請免費憑證已經很方便了,如果說,想體會一下真正設定憑證的感覺和差別,然後,又自己有一個網域可以試的話,阿舍就建議直接到 Let's Encrypt 網站去申一個憑證來試哩 ... 供參囉 !
推薦閱讀
- 問題沒解決嗎? 更多的 Ubuntu 教學在 這裡
- Prompt Injection: 提示詞注入安全漏洞
- 二款 Mac 無痛安裝的 Stable Diffusion 軟體
- 用 AI 寫部落格文章好不好 ?
- 沒有免費的 Midjourney 和 Colab 又不想花錢怎麼辦 ?
- 不學 Prompt 技巧也能善用 ChatGPT 的簡單方法
- 企業 AI 應用:不只是聊天機器人
- Automatic 比 Automatic1111 更好用 ? 都是 Stable Diffusion WebUI
- Stable Diffusion 的 /describe 圖生文功能
- AI 畫出讓人可怖的美圖 !
有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁
8 則留言 :
如果只是要過 browser certificate,現在一般的價錢是 USD$10 而非 USD$50...
至少我在用的 namecheap 就是這個價錢...
Hello Lin 兄,
太感謝! 原來有這麼便宜的,阿舍一直以為都要這麼貴說 --!
4.建立自己認證這一段,我們也可以自己發給自己嗎?
Hello,
是的,步驟 4 就在建立一個自己產生,但未經過第三方公正單位認證的憑證哩 ! ...^^=
供參 ! ^^=
抱歉,我想再問一下
我都照著步驟做了
卻發現.....
只能用https://ip 連
如果用 https://servername ,會說不能連
不知道您知道哪裡可能出了錯嗎
感謝您的回應
Hello,
阿舍在這篇文的最後面有提到,因為是沒有經過第三方公正單位認證,所以,瀏覽器就會警告憑證有問題囉 ! ... 但是,網站還是可以進入和運行的哩 !
供參囉 ! ^^=
謝謝您的回答,我知道會警告憑證有問題,但是我的確是會出現不能連結的情況,找了很多教學,試了很多次都失敗,可能不知道哪裡錯了吧,只有http://ip才可以
因為domain沒註冊會找不到,可以在windows 下目錄的hosts做設定即可。hosts如何設定可google
張貼留言
歡迎留言提問和討論 .... 😁