搜尋此網誌
由於從事Client端工作較多年,所以可能相關的領域較為了解,但是程式這種職業,其實能拆分細數成無數分支的程式職業,每個不同的程式區塊都是隔行如隔山,不同公司的習慣與水平都有著巨大的差距,所以看到不同的寫法也許只是習慣不同,而大家也都是希望遊戲領域或是程式領域能發展的更好,所以歡迎討論,但是希望避免那種都沒說明就說別人錯誤的狀況~
精選
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
遊戲伺服器2025年初架設與研究part8透過Certbot與Nginx搭配使用自動續約Let's EncryptSSL憑證完成雙向https
這次來整理一下常見的SSL自動續約機制
當然這邊是已經使用了Cloudflare搭配網域有了https的狀態
伺服器系統使用Ubuntu主板號22的(22.0.XX)
首先可以先從Cloudflare後台開始
點選SSL/TLS的選項,右邊點"設定"
應該就會看到加密預設應該會是"彈性"
那彈性的意思就是透過Cloudflare到使用者那邊會是https
但是Cloudflare到你的伺服器,則沒有強制https,也就是說可以http
那一般來說,沒有特別處理的話,這邊轉發後就會只有http
但即便只有這一小段,還是會有些風險存在的
加上有部分連線會要求整段連線都必須是https(檢查整段連線)
那主要這邊就是簡單說明一下如何設定成"完整"
當然處理完之前還先別改成完整
避免底下操作有異常,等SSL憑證的部分完成再調整設定
完整的話就可以整段都是https(包含使用者<-->Cloudflare<-->你的伺服器)
那完整(嚴格)的話,通常就是要錢的,這邊就先不考慮
當然你也可以當作等級跟安全性更高的而選擇使用完整(嚴格)
這邊以能設定成"完整"為主
雖然之前也有稍微帶過,不過這邊就再補充詳細一些
可以透過Certbot來取得憑證,就可以把這段也透過https來發送了
Nginx + Certbot來處理SSL
那首先安裝指令我先列出來
sudo apt install -y certbot python3-certbot-nginx
接下來使用nginx的設定檔來建立轉發的站點
先前雖然也有大概帶過,不過這邊一併說明
先創建設定檔
sudo nano /etc/nginx/sites-available/myproject
server { listen 80; listen [::]:80; server_name example.com www.example.com; } location / { proxy_pass http://unix:/home/deployuser/projects/myapp/myapp.sock; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
接著是連接設定檔,記得網域的名稱要替換掉
然後proxy_pass的路徑記得調整成自己放置的路徑例如http://127.0.0.1:5666(我是先放了個python首頁,不過可能不是必要的)
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t # 測試設定語法
sudo systemctl reload nginx
這邊主要就是把編寫好的設定檔連結到啟用的區域去執行
執行前記得需要-t進行測試
如果內容沒有問題則會得到success ok兩個綠色的成功
接下來執行以下指令
sudo certbot --nginx -d example.com -d www.example.com
注意那兩個example都是自己的網域,兩個替換好再送出
接下來會有一個流程操作,根據版本可能會有些許不同的問題,或是顯示方式
不過基本上主要就是以下這幾個
詢問輸入 email、同意 TOS、選擇是否 redirect all traffic to HTTPS(通常選 Yes)
並且它還會自動修改你剛剛的nginx設定檔
所以整個流程跑完後去看nginx內容有不一樣是正常的
完成後也可以進行一次測試,接著讓它reload
sudo nginx -t
sudo systemctl reload nginx
這樣應該就能正常運作了
並且先前Cloudflare的安全性設置也可以調整成完整了
這邊也提供一個可以檢查SSL憑證時間的指令
sudo systemctl list-timers | grep certbot
這次就先分享到這邊,如果還有什麼疑問,歡迎提問
如果有講錯的地方,也歡迎提出來~
熱門文章
遊戲伺服器2025年初架設與研究part7遊戲中常見的websocket使用,並且在Unity與伺服器中建立連線
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
留言
張貼留言