摘要:主域名簽發的通配符證書可以在所有子域名中使用,比如。以前配置子域名也是需要每個域名多帶帶的申請證書的,意思是現在可以直接用這個證書,讓全站實現。下面本文就簡單的記錄了我開啟全站的步驟,分鐘就能搞定,首先從子域名開始。
持續了1個多月的備案,今天收到短信終于下來了。
上篇水文,大概的記錄了作為前端利用gitlab.com利用gitlab-ci開啟CI自動部署。前端的gitlab的ci初嘗試。這篇文章就要開始記錄下我如何開啟https。
https是什么?https 是什么,不是本文的重點,直接跳過,https 的好處在這里也不仔細講。
什么是 Let’s Encrypt?部署 https 網站的時候需要證書,證書由 CA 機構簽發,大部分傳統 CA 機構簽發證書是需要收費的,這不利于推動 https 協議的使用。Let’s Encrypt 也是一個 CA 機構,但這個 CA 機構是免費的!!!也就是說簽發證書不需要任何費用。
什么是全站https,也就是通配符證書?域名通配符證書類似 DNS 解析的泛域名概念,通配符證書就是證書中可以包含一個通配符。主域名簽發的通配符證書可以在所有子域名中使用,比如 .example.com、bbs.example.com、bbs.example.com。
2018 年 3 月 14 日,Let’s Encrypt 對外宣布 ACME v2 已正式支持通配符證書。這就意外味著用戶可以在 Let’s Encrypt 上免費申請支持通配符的 SSL 證書。以前配置子域名也是需要每個域名多帶帶的申請證書的,意思是現在可以直接用*.example.com這個證書,讓全站實現https。
下面本文就簡單的記錄了我開啟全站https的步驟,10分鐘就能搞定,首先從blog子域名開始。
準備工作1. 一個頂級域名:peiqixin.com # 我這里用的是 2. 一臺自己的云服務器 # 我這里用的是我的那個小水管,之前在騰訊云擼的羊毛,6年360塊錢的服務器,我這里服務器的系統用的是ubuntu
下面的所有操作都是在你的服務器上面,(我的服務器系統是ubuntu 16.04),其他的系統的操作也差不多。
添加一個blog域名解析 下載Nginx安裝 nginx 。如果你已經安裝可以跳過這步。
sudo apt-get update sudo apt-get install nginx
如果不會nginx的基本操作和基本配置,建議還是先去了解一下 nginx 的基本配置,比如如何的開啟一個web服務器,nginx的基本操作和編寫配置(不是必須)。
下載certbot客戶端sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-nginx
安裝的時候一路 enter 就完事兒了。
獲取 Let’s Encrypt certificatecerbot 提供 nginx 配置以幫助我們重新配置我們以前的 nginx 配置,以便我們可以使用我們即將獲得的 SSL 證書。
## 我的域名是peiqixin.com。這里要換成你要配置的域名 sudo certbot --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --installer nginx -d *.peiqixin.com -d peiqixin.com
然后又是一路的確定選擇確定就可以了。
但是請注意這一步,就暫時不要繼續enter了
請把這段token復制下來。
打開你的域名提供商,就是你之前買域名的地方。添加一個域名解析。
記錄選擇 選擇 TXT
主機記錄填入 _acme-challenge
記錄值就填入剛才你保存下來的token
點擊保存之后,certbot客戶端會去確定你是否在正確的添加了解析。
如果正確的添加了解析。
接下來
Which server blocks would you like to modify? ------------------------------------------------------------------------------- 1: File: /etc/nginx/sites-enabled/default Addresses: [::]:80 default_server, 80 default_server Names: _ HTTPS: No ... ------------------------------------------------------------------------------- Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter "c" to cancel):
將呈現nginx配置中的服務器塊列表,供您選擇要將證書部署到的服務器塊。
反正我用不上,這里選擇cancel,輸入c,enter繼續。
接下來
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you"re confident your site works on HTTPS. You can undo this change by editing your web server"s configuration.
這一步就是讓你選擇是否將http流量重定向到建議的https。既然是全站https,所有的訪問都應該走https,選擇2,enter。提供與前一階段相同的列表,輸入c,按enter繼續。
接下來,當你看到下面的一段就表明你已經配置好了。
請把
/etc/letsencrypt/live/peiqixin.com/fullchain.pem /etc/letsencrypt/live/peiqixin.com/privkey.pem
這2個地址記下來
配置nginxsudo nginx -t
找到你的nginx配置文件的地址
sudo mkdir conf.d #創建一個配置nginx的目錄,不可能把所有的配置寫在一個文件里面,以后也不好維護
再在nginx的默認配置文件nginx.conf的http模塊里面添加
include /etc/nginx/conf.d/*.conf; #引入所有的配置文件
在conf.d文件夾里面創建一個index.conf,創建主配置文件負責監聽80端口并轉發請求。
server { listen 80; server_name peiqixin.com www.peiqixin.com blog.peiqixin.com; rewrite ^(.*) https://$host permanent; }
創建https配置文件。創建各域名配置文件監聽443端口(可以按域名分開,也可以寫一個文件里,我為了方便寫在一個文件里)
server { listen 443; server_name peiqixin.com www.peiqixin.com; ssl on; ssl_certificate /etc/letsencrypt/live/peiqixin.com/fullchain.pem; ## 這個就是你配置certbot最后一步要你記錄下來的地址 ssl_certificate_key /etc/letsencrypt/live/peiqixin.com/privkey.pem; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root /home/ubuntu/blog; ##這里我用hexo博客生成器生成的靜態html,js,css都放在了這個文件 index index.html index.htm; } } server { listen 443; server_name blog.peiqixin.com; ssl on; ssl_certificate /etc/letsencrypt/live/peiqixin.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/peiqixin.com/privkey.pem; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root /home/ubuntu/blog; index index.html index.htm; } }
退出保存。檢測一下nginx的配置是否有語法錯誤
sudo nginx -t
重啟nginx
訪問blog.peiqixin.com,就會看見
再訪問peiqixin.com
都是自動的從http跳轉到https。
接下來想要添加一個api.peiqixin.com域名為https。重復上面的第一步和最后一步,然后就可以在api.peiqixin.com域名旁邊看到小綠鎖。
參考資料
certbot官網
how-to-deploy-wildcard-ssl-certificates-using-lets-encrypt
Nginx 配置多域名 http轉https
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39963.html
摘要:但是相較于非全站,全站會更加安全,也省去了和互跳轉所帶來的延遲。安全無價,只有保障了訪客與網站的傳輸處在安全的協議之下,才能確保隱私和數據的安全。寫在前面TrustAsia在Ucloud有提供免費證書服務,為了保障互聯網安全,各位站長可以配額內申請使用(同時可以擁有多個免費證書)。如需購買付費證書或者使用免費證書請看文末~隨著個人博客、主頁的站點數不斷增加,越來越多的風險也逐漸顯露出來。許多...
摘要:官網全站實踐正式來襲也迎來自己的一個里程碑數正式突破官網作為項目組服務開發者們的重要渠道也迎來了自己的一次重大更新重構升級到全站實現本篇先介紹官網全站實踐先來一張官網效果圖鎮樓靜態資源由托管開啟業務代碼交由執行設置使用協議要實現非常簡單 date: 2018-3-8 13:50:03title: Swoft| Swoft官網全站 HTTP2 實踐 Swoft1.0正式來襲, Swoft...
摘要:最近很多的網站淘寶百度知乎等都開啟了全站訪問,的好處就不多說了,大家可以自己一下。一般情況下,證書是需要購買的,但是也有免費提供的,比如沃通就提供免費的證書。重啟之后,網站成功開啟訪問。四優化開啟訪問之后,有時候我們希望訪問的鏈接都跳轉到。 最近很多的網站(淘寶、百度、知乎等)都開啟了全站HTTPS訪問,HTTPS的好處就不多說了,大家可以自己Google一下。為了趕潮流,我也想為自己...
摘要:引言目前主流的網站都要求安全訪問,瀏覽器微信內置瀏覽器打開非的網頁,都會提示不安全。按照提示補全信息。鋼哥提示特別要注意的是,這里要選擇格式證書進行安裝,否則會有問題。本文如有遺漏或不足的地方也請隨時跟鋼哥交流,讓我們共同學習,共同進步 showImg(https://segmentfault.com/img/remote/1460000015366037?w=1600&h=1012)...
閱讀 1215·2023-04-25 20:56
閱讀 2255·2023-04-25 14:42
閱讀 1020·2023-04-25 14:06
閱讀 2859·2021-10-14 09:42
閱讀 2135·2021-09-22 16:03
閱讀 978·2021-09-13 10:30
閱讀 1342·2019-08-29 15:41
閱讀 1789·2019-08-29 12:55