您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎樣把HTTP網站免費轉成HTTPS網站,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
關于HTTPS和HTTP的區別,以及HTTPS的優勢、HTTPS和SSL之間的關系等,作為一個“外行人”,如何一步步構建自己的HTTPS服務器的過程。
1、申請SSL證書
SSL證書是一種加密協議。大部分企業級的SSL證書都是需要收費的,而且對于個人開發者來說都不便宜(土豪隨意)。個人使用的SSL證書,有一些是免費的,比如Let's Encrypt、阿里云、騰訊云、又拍云等,都有提供免費證書的申請接口。
這里以阿里云為例,其免費申請流程為:
(1)注冊阿里云賬號
(2)打開“管理控制臺” -- “安全(云盾)” -- “CA證書服務”
(3)打開右上角“購買證書”:
(4)選擇“免費型DV SSL”,并點擊立即購買。購買成功后跳轉到“我的證書”頁面:
(5)此時的狀態處于“待完成”,點擊右側“補全”按鈕,補全域名信息:
(6)按照流程單擊“下一步”,填寫個人信息,上傳相關信息等。***跳回“我的證書”頁面:
(7)此時的狀態變成了“待審核”。點擊右側“進度”按鈕,進入詳情頁:
(8)這里需要配置域名授權驗證。具體步驟可參考:如何配置域名授權驗證? 配置完成后點擊“配置檢查”,如果配置成功,則:
此時耐心等待審核結果即可。一般需要3到5個工作日。
2、配置基本的Nginx服務器
這里我們使用Python的Flask框架,構建一個最簡單的網站,頁面直接返回Hello World。
這里建議大家使用docker進行網站部署。推薦一個自己的Docker鏡像,鏡像中集成了Python網站開發、爬蟲等所需要的各種庫,以及安裝有uWSGI和Nginx等相關服務。地址如下:https://hub.docker.com/r/xianhu/centos/
下載鏡像后直接新建容器,并開放80端口和443端口即可:
PS:這里開放80是為了測試HTTP,開放443是為了測試HTTPS。
docker run -it --name test -p 80:80 -p 443:443 xxx/image:v10
進入鏡像后,新建FlaskDemo目錄,并新建FlaskDemo.py文件。文件代碼如下:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
然后利用uWSGI啟動Flask程序,關于uWSGI的知識相信做過Flask的程序員應該都了解。
uwsgi -s /tmp/uwsgi.sock -w FlaskDemo:app --chdir /root/FlaskDemo/ --chmod-socket=666
修改Nginx配置文件,配置文件地址:/etc/nginx/conf.d/default.conf:
server { listen 80; server_name xxx.com; charset utf-8; location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } server { listen 80 default; server_name ""; return 500; } server { listen 80 default; server_name ""; return 500; }
配置很簡單。修改之后重啟nginx -s reload即可使配置文件生效。此時訪問域名地址,即可看到如下效果,HTTP網站配置完成。注意:域名需要備案,否則國內不允許上線。
此時是通過HTTP進行訪問的。下一步我們就需要改為HTTPS訪問。
3、在Nginx中配置SSL證書
經過兩三天的等待,SSL證書終于申請成功了,即在阿里云的“安全(云盾)”產品中的“CA證書服務”中,“證書狀態”變成了“已簽發”:
下載證書到服務器,下載后可以得到兩個文件:xxxx.pem 和 xxxx.key
在Nginx的安裝目錄下,新建文件夾cert,并將上述兩個文件復制到該文件夾下:
此時修改Nginx配置文件/etc/nginx/conf.d/default.conf:
server { listen 443; server_name xxx.com; charset utf-8; #access_log /var/log/nginx/host.access.log main; ssl on; ssl_certificate cert/xxxx.pem; ssl_certificate_key cert/xxxx.key; ssl_session_timeout 5m; ssl_ciphers .... ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } }
保存配置文件后,重啟Nginx:nginx -s reload。
此時再去訪問網址,即可得到:
即HTTPS配置成功!
關于怎樣把HTTP網站免費轉成HTTPS網站就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。