佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 本地HTTPS環(huán)境搭建的完整步驟記錄

本地HTTPS環(huán)境搭建的完整步驟記錄

熱門標(biāo)簽:美圖手機(jī) 網(wǎng)站建設(shè) 阿里云 使用U盤裝系統(tǒng) 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 檢查注冊表項(xiàng) 硅谷的囚徒呼叫中心 智能手機(jī)

前言

之前在為公司的應(yīng)用添加 https 時(shí),是在 nginx 上配置的,這樣不需要 node 做額外的開發(fā),但是組內(nèi)的開發(fā)同學(xué)本地一直沒有配置,一直是采用 http 的方式開發(fā)和測試。最近發(fā)現(xiàn)有些 case 需要 https 來復(fù)現(xiàn),比如 Android 5.0 以上的 app 內(nèi),使用 https 的網(wǎng)站訪問 http 的內(nèi)容會阻止訪問,這種問題測試的時(shí)候本地就需要一個(gè) https 的環(huán)境。于是花了點(diǎn)時(shí)間學(xué)習(xí)了下本地 https 的搭建,在這里記錄一下。下面話不多說了,來一起看看詳細(xì)的介紹吧。

生成證書

本地開發(fā)的證書可以自己生成一個(gè),可以通過以下步驟生成一個(gè)簡單的證書:

首先,進(jìn)入你想創(chuàng)建證書和私鑰的目錄,例如:

$ cd /usr/local/nginx/conf

創(chuàng)建服務(wù)器私鑰,命令會讓你輸入一個(gè)口令:

$ openssl genrsa -des3 -out server.key 1024

創(chuàng)建簽名請求的證書(CSR):

$ openssl req -new -key server.key -out server.csr

配置https

nginx 的 https 配置很簡答,就是監(jiān)聽 443 端口,并且添加相關(guān)的 ssl 配置。

 server {
   listen 80;
   listen 443;
   
   ssl on;
   ssl_certificate ssl/server.crt;
   ssl_certificate_key ssl/server.key;
   
 }

再配置好你自己的 upstream 和 location 后就可以用 https 訪問了。

這里踩了一個(gè)坑,因?yàn)槲倚枰砑?https 的域名是配了虛擬主機(jī)的,但是我的 ssh 卻沒有在虛擬主機(jī)里添加,導(dǎo)致一開始并不能訪問,這時(shí)候?qū)W習(xí)了一下如何去查 nginx 的問題。

先確認(rèn)不是瀏覽器的問題,確實(shí)是nginx配置問題

wget local.xxx.com ok
wget local.xxx.com:443 cant receive

然后查了一下,nginx有兩種日志,access log 和 error log。

其中 access log 日志記錄了哪些用戶,哪些頁面以及用戶瀏覽器、ip和其他的訪問信息,error log 則是記錄服務(wù)器錯誤日志。

我先查了一下nginx的access.log 沒有日志,再查nginx的error.log 有報(bào)錯

2017/04/18 14:07:10 [error] 18614#0: *168 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 192.168.2.1, server: 0.0.0.0:443
2017/04/18 14:07:10 [error] 18614#0: *169 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 192.168.2.1, server: 0.0.0.0:443

最后發(fā)現(xiàn)是虛擬主機(jī)中沒配ssh

無法使用http訪問

細(xì)心的朋友可能已經(jīng)看出來了,這個(gè)配置有一點(diǎn)問題,因?yàn)殚_啟了ssl:on,導(dǎo)致使用 http 訪問時(shí)會報(bào)錯

The plain HTTP request was sent to HTTPS port

后續(xù)刪掉了ssl:on這一行,并且對443端口的監(jiān)聽做了一下修改

listen 443 ssl;

mac信任證書的問題

配置完https后,mac 用 chrome 打開時(shí)一直顯示證書不受信任,需要點(diǎn)擊確認(rèn)才能繼續(xù)往下進(jìn)行,并且導(dǎo)致我的 https 的靜態(tài)資源無法訪問,可以用safari打開該網(wǎng)頁后點(diǎn)擊信任

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

標(biāo)簽:懷化 湖北 通遼 湘潭 賀州 黃山 山南 煙臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《本地HTTPS環(huán)境搭建的完整步驟記錄》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    阜南县| 南昌县| 云阳县| 上饶县| 宿州市| 孙吴县| 九龙城区| 巫山县| 财经| 灵璧县| 锡林郭勒盟| 桃江县| 香河县| 广东省| 乐山市| 南丰县| 兰考县| 惠州市| 桐庐县| 通化市| 淄博市| 重庆市| 易门县| 吴旗县| 水城县| 仁寿县| 南昌市| 台东市| 海南省| 栾川县| 赤峰市| 拉萨市| 十堰市| 灵寿县| 汉源县| 泗洪县| 怀集县| 大厂| 峨山| 时尚| 青浦区|