發(fā)布日期:2017-11-16 瀏覽:720 次
關(guān)于HTTPS和HTTP的區(qū)別,以及HTTPS的優(yōu)勢(shì)、HTTPS和SSL之間的關(guān)系等,本文不做任何討論,感興趣的可以自行百度。本文只用來(lái)記錄作為一個(gè)外行人,如何一步步構(gòu)建自己的HTTPS服務(wù)器的過(guò)程。
1、申請(qǐng)SSL證書
SSL證書是一種加密協(xié)議。大部分企業(yè)級(jí)的SSL證書都是需要收費(fèi)的,而且對(duì)于個(gè)人開發(fā)者來(lái)說(shuō)都不便宜(土豪隨意)。個(gè)人使用的SSL證書,有一些是免費(fèi)的,比如Let's Encrypt、阿里云、騰訊云、又拍云等,都有提供免費(fèi)證書的申請(qǐng)接口。
這里以阿里云為例,其免費(fèi)申請(qǐng)流程為:
(1)注冊(cè)阿里云賬號(hào)
(2)打開管理控制臺(tái)安全(云盾)-- CA證書服務(wù)
(3)打開右上角購(gòu)買證書
(4)選擇免費(fèi)型DV SSL,并點(diǎn)擊立即購(gòu)買。購(gòu)買成功后跳轉(zhuǎn)到我的證書頁(yè)面:
(5)此時(shí)的狀態(tài)處于待完成,點(diǎn)擊右側(cè)補(bǔ)全按鈕,補(bǔ)全域名信息:
(6)按照流程單擊下一步填寫個(gè)人信息,上傳相關(guān)信息等。跳回我的證書頁(yè)面:
(7)此時(shí)的狀態(tài)變成了待審核。點(diǎn)擊右側(cè)進(jìn)度按鈕,進(jìn)入詳情頁(yè):
(8)這里需要配置域名授權(quán)驗(yàn)證。具體步驟可參考:如何配置域名授權(quán)驗(yàn)證? 配置完成后點(diǎn)擊配置檢查,如果配置成功,則:
此時(shí)耐心等待審核結(jié)果即可。一般需要3到5個(gè)工作日。
2、配置基本的Nginx服務(wù)器
這里我們使用Python的Flask框架,構(gòu)建一個(gè)最簡(jiǎn)單的網(wǎng)站,頁(yè)面直接返回Hello World。
這里建議大家使用docker進(jìn)行網(wǎng)站部署。推薦一個(gè)自己的Docker鏡像,鏡像中集成了Python網(wǎng)站開發(fā)、爬蟲等所需要的各種庫(kù),以及安裝有uWSGI和Nginx等相關(guān)服務(wù)。
下載鏡像后直接新建容器,并開放80端口和443端口即可:
PS:這里開放80是為了測(cè)試HTTP,開放443是為了測(cè)試HTTPS。
進(jìn)入鏡像后,新建FlaskDemo目錄,并新建FlaskDemo.py文件。文件代碼如下:
然后利用uWSGI啟動(dòng)Flask程序,關(guān)于uWSGI的知識(shí)相信做過(guò)Flask的程序員應(yīng)該都了解。
uwsgi -s /tmp/uwsgi.sock -w FlaskDemo:app --chdir /root/FlaskDemo/ --chmod-socket=666
修改Nginx配置文件,配置文件地址:/etc/nginx/conf.d/default.conf:
配置很簡(jiǎn)單。修改之后重啟nginx -s reload即可使配置文件生效。此時(shí)訪問(wèn)域名地址,即可看到如下效果,HTTP網(wǎng)站配置完成。注意:域名需要備案,否則國(guó)內(nèi)不允許上線。
此時(shí)是通過(guò)HTTP進(jìn)行訪問(wèn)的。下一步我們就需要改為HTTPS訪問(wèn)。
3、在Nginx中配置SSL證書
經(jīng)過(guò)兩三天的等待,SSL證書終于申請(qǐng)成功了,即在阿里云的安全(云盾)產(chǎn)品中的CA證書服務(wù)中,證書狀態(tài)變成了已簽發(fā)
下載證書到服務(wù)器,下載后可以得到兩個(gè)文件:xxxx.pem 和 xxxx.key
在Nginx的安裝目錄下,新建文件夾cert,并將上述兩個(gè)文件復(fù)制到該文件夾下:
此時(shí)修改Nginx配置文件/etc/nginx/conf.d/default.conf:
保存配置文件后,重啟Nginx:nginx -s reload。
此時(shí)再去訪問(wèn)網(wǎng)址,即可得到:
即HTTPS配置成功!
yk標(biāo)準(zhǔn)化網(wǎng)站建設(shè)|設(shè)計(jì)制作SEO快速排名建站!隨著網(wǎng)站建設(shè)公司越來(lái)越多,不同公司所建設(shè)的網(wǎng)站在設(shè)計(jì)、性能上是有所區(qū)別的。那...
企業(yè)網(wǎng)站排名更好|更安全|的價(jià)值HTTPS你知道嗎? 通用網(wǎng)址,中文域名,英文域名,ICP備案,以及HTTPS加密協(xié)議,讓企...
主要時(shí)間、精力、和的SEO運(yùn)維人員。隨著百度對(duì)外鏈算法的不斷調(diào)整,外鏈越來(lái)越不好做。有很多人做了外鏈的效果微乎其微,甚至...
整理了下搜索引擎原理知識(shí),許多涉及到具體算法的地方很深?yuàn)W,不知道該怎樣向不了解搜索引擎的人去傳播知識(shí)。我編了幾個(gè)通俗的案...
今天有家公司打電話給我說(shuō),可以將我們網(wǎng)站的詞排到前三名的。現(xiàn)在排名第11左右的。 百度醫(yī)療器械現(xiàn)在有時(shí)候排前五六名的,有時(shí)候...
優(yōu)化一個(gè)網(wǎng)站到百度首頁(yè),當(dāng)客戶看到我的是個(gè)人網(wǎng)站沒(méi)有營(yíng)業(yè)執(zhí)照,不信任怎么辦? 營(yíng)口個(gè)人網(wǎng)站優(yōu)化網(wǎng)站到百度首頁(yè)要怎么提高信任...
營(yíng)口服務(wù)器出租和托管業(yè)務(wù):linux nginx服務(wù)器推薦404設(shè)置方案!一個(gè)網(wǎng)站,肯定是避免不了404頁(yè)面的,通常使用Nginx作為Web服務(wù)...