在
之前的文章《淺析nginx的安裝與使用(收藏)》中,給大家介紹了解了nginx的安裝與使用。以下這篇文章跟大家介紹怎麼給網站開啟https和http2,我們一起看看怎麼做。
本篇文章主要介紹如何開啟網站https
和http2
本篇文章主要介紹如何開啟網站https
與http2
給網站開啟https
比較簡單以本站Linux nginx
為例
3條指令即可
wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto
nginx
$sudo ./certbot-auto --nginx ```sh ## 检查证书有没有过期
$sudo ./certbot-auto renew --dry-run
## 如果过期了就自动续订 ```sh $sudo ./certbot-auto renew
假如提示如下錯誤代碼
#UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)
是因為nginx
的設定檔存在中文字符,把中文改成英文字符,把中文改成英文字符即可
或可以自行找
grep -r -P '[^\x00-\x7f]' /etc/nginx /etc/letsencrypt
好了,現在開啟nginx
設定看下
listen 443 ssl http2; ssl on; ssl_certificate /etc/letsencrypt/live/chuchur.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/chuchur.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; if ($scheme != "https") { return 301 https://$host$request_uri; } # managed by Certbot
注意nginx 版本太低是無法開啟的,首先要升級nginx 版本,以centos 為例
修改/etc/yum.repos.d/nginx.repo的nginx
倉庫位址
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
如果還沒有安裝nginx,直接執行yum install nginx,如果已經安裝了,則可以透過yum clean all && yum update nginx 升級。
建議先停掉nginx
暴力停止killall nginx
, 然後卸載掉yum remove nginx
之後再重新安裝 yum install nginx
Ubuntu / Debian升級HTTP/2
先修改apt
倉庫來源/etc/apt/ source.list
的位址,增加下面兩行倉庫。
deb http://nginx.org/packages/mainline/debian/ codename nginx deb-src http://nginx.org/packages/mainline/debian/ codename nginx
接下來執行
apt-get clean && apt-get install nginx
好了,現在成功了開啟了https
了,443 ssl
後面那個http2
,就是開啟了http2
最後重啟nginx
nginx -s reload
刷新頁面發現網址前面加了一把鎖就表示https
開啟成功了
如何驗證開啟了http2
呢你開啟要驗證的網址等載入完成後,新開一個tab
輸入chrome://net-internals /#http2
Enter
如果在清單中找到你的網址對應的ip就表面已經開啟成功了。
當然是用Google瀏覽器
【完】
推薦學習:http影片教學
#以上是手把手教你使用給網站開啟https和http2(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!