最近歐肉摳(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等級