最近歐肉摳(Oracle)有免費的VPS可以申請,所以就申請完來練習一下操作,之前就想碰碰看Nginx所以就放個服務來測試看看。
然後搭配Let's Encrypt 的 client — certbot 來幫忙放SSL。
弄台機器出來
首先就先申請免費VPS,這裡就不教怎麼申請了。
記得打開所有或要用的port,預設只開
22port一開始忘記害我想說怎麼都用不好。
現在能申請公用IP記得用一下。
然後SSH連線系統為ubuntu名稱就用ubuntu名稱連線並且附帶SSH key。
下載Nginx
1  | $ sudo apt install nginx# start nginx  | 
啟動之後你就能在127.0.0.1就可以看到自己的Nginx頁面
但是要配置自己的服務,還要另外寫。
配置的文件在/etc/nginx/nginx.conf
1  | user root #使用者盡量權限高一點;  | 
配置完之後sudo nginx -t看有沒有出問題。
沒有的話sudo nginx -s reload重新更新nginx,再次打開網頁看看吧。
配置SSL
我是用免費三個月的Let's Encrypt。
1  | wget https://dl.eff.org/certbot  | 
然後就會一連串先叫你輸入email、看同意條款等等,成功之後有以下畫面。
而憑證放的位置為/etc/letsencrypt/live/your.domain/fullchain.pem,裡面會放privkey、fullchain等等。
然後她會幫你在你的Nginx加上這些。
然後要改設定像是ssl_protocols、ssl_session_timeout等等,再到/etc/letsencrypt/options-ssl-nginx.conf修改。
確認之後就一樣nginx -t確認然後在nginx -s reload,在打開自己網頁就能看到鎖頭ㄌ。
重新導向Https
有些Cerbot套件不同,會幫你自己做完導向或是你沒確認到選項,會讓你的網頁能夠HTTP HTTPS共存,也可能你有需要這樣需求,但是我想讓我的網站自動導向到HTTPS。
Nginx的配置會和你SSL配置寫在一起變成你的80port跟443port放一起,這時候你的HTTP跟HTTPS就共存了,所以我們要分開讓80port重新導向。
1  | server {  | 
就完成啦~~一樣要重新reload Nginx。
測試你的SSL等級