過程總述
- 購買服務器,購買域名,備案
- 申請ssl證書
- DNS驗證
- 上傳證書,配置nginx
- 很關鍵,打開端口!!!阿里雲的443端口默認是不打開的
1.購買服務器,域名,備案
服務器我是買的阿里雲的,域名也是在阿里雲上買的,注意一點,現在域名必須備案才能用,所以建議先買域名着手備案,等備好案再買服務器。
粘個阿里雲推廣的連接,點進去有新人紅包
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ppef3go2
如果是個人開發使用,服務器不用買太貴的,1M網速2G內存的就夠用了。
域名如果不是商用,也不用太好,我就用的.top,cn和com基本沒多少好聽的域名了。而且還很貴。
2.申請ssl證書
https://freessl.cn/
申請Let's Encrypt的ssl證書
比如我們現在要給example.top申請證書
- 注冊個帳號,不注冊也行,但是注冊了之后,以后證書如果不小心刪了,這里還可以在下載。郵箱注冊,打開郵件驗證,然后回到首頁。
- 在首頁輸入你要的輸入的域名,如果你要只用二級域名比如www.example.top,就輸這個二級域名就行,或者你要全域名,就輸入*.example.top,這樣以后所有二級域名就都可以用https服務了。我們這里使用全域名。

- 點擊創建,確認。然后會給一個私鑰的壓縮包,留下來,先不用。然后界面上進入DNS驗證的過程。

3. DNS驗證
- 首先說說這個東西是干嘛的,我理解的,就是給你發的時候,我得確認你有這個網站的權限,然后能讓我認可,我才給你發證,表示我承認這個證保護這個網站。
- 先不要點擊驗證,如果失敗會有十分鍾的間隔之后才能再驗證,點擊
配置完成,檢測一下進入檢測界面。檢測界面這樣,但是數據不全,先不用點,還要用剛才那個界面的數據。

- 打開你的阿里雲網站,進入控制台->域名->點擊你的域名->然后域名解析。到這個界面就對了。


- 添加dns驗證要的信息。點擊添加記錄,在最開始的freessl的那個頁面,就是查詢驗證之前的那個界面。
- 一共有兩個,新建兩個記錄,對應關系一樣,如圖。

- 測試一下,應該通過,然后回到freessl那里,點擊
點擊驗證,通過之后會發給你一個壓縮包,里邊就是證書啦。
4. 上傳證書,配置nginx
- 剛才獲得的最后的證書在那個壓縮包里,解壓是這樣的內容,如果丟了,可以去網站再下載一下(如果剛才沒有注冊登陸,就只能再重新申請一遍)。

- scp復制到服務器上,或者搭建了ftp服務也可以。(不會的自行百度啦,scp還是很簡單的)。比如我的吧
scp private.key root@112.125.88.123:/root/,然后要求輸入密碼,文件就過去了。把兩個文件都傳過去。 - 進入服務器。把剛才的兩個文件復制到nginx下新建的一個目錄下,我的放在
/usr/local/nginx/cert/下了。 - 貼上我的nginx配置文件。
server {
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/cert/full_chain.pem;
ssl_certificate_key /usr/local/nginx/cert/private.key;
keepalive_timeout 70;
server_name example.top;
root /data/webroot/example;
charset utf-8;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
location / {
index index.php index.html index.htm;
if (-e $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ .+\.php($|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log logs/calendar.yimeidan.access.log;
error_log logs/calendar.yimeidan.error.log;
}
server {
listen 80;
server_name calendar.yimeidan.top;
return 301 https://$server_name$request_uri;
}
5. 一定要記得打開端口!!!
最后的最后,很關鍵,打開端口!!!打開端口!!!打開端口!!!
阿里雲的443端口默認是不打開的,需要如下操作打開端口。(80端口也是需要這么打開的。)
點開你的阿里雲控制台,找到你要用的服務器,然后點更多->網絡和安全組->安全組配置。

點配置規則,添加安全組規則。添加內容如圖。你也可以這樣配好80端口。

尾聲
理論上完活啦,有問題可以留言交流。
成品截圖:

寫文不易,如果覺得幫到您了,可以支持下。d=====( ̄▽ ̄*)b。
阿里雲新人紅包:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ppef3go2
阿里雲產品開年活動:https://www.aliyun.com/acts/product-section-2019/new-users?userCode=ppef3go2
阿里雲商標注冊服務:https://tm.aliyun.com/?userCode=ppef3go2
