国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

本地HTTPS環境搭建的完整步驟記錄

2024-08-30 12:25:03
字體:
來源:轉載
供稿:網友

前言

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

生成證書

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

首先,進入你想創建證書和私鑰的目錄,例如:

$ cd /usr/local/nginx/conf

創建服務器私鑰,命令會讓你輸入一個口令:

$ openssl genrsa -des3 -out server.key 1024

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

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

配置https

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

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

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

這里踩了一個坑,因為我需要添加 https 的域名是配了虛擬主機的,但是我的 ssh 卻沒有在虛擬主機里添加,導致一開始并不能訪問,這時候學習了一下如何去查 nginx 的問題。

先確認不是瀏覽器的問題,確實是nginx配置問題

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

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

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

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

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:4432017/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

最后發現是虛擬主機中沒配ssh

無法使用http訪問

細心的朋友可能已經看出來了,這個配置有一點問題,因為開啟了ssl:on,導致使用 http 訪問時會報錯

The plain HTTP request was sent to HTTPS port

后續刪掉了ssl:on這一行,并且對443端口的監聽做了一下修改

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀来县| 白沙| 海安县| 柞水县| 新野县| 广饶县| 金川县| 扎赉特旗| 闸北区| 日照市| 中西区| 铜山县| 兴文县| 永登县| 屏山县| 岳池县| 临邑县| 康乐县| 本溪市| 泗洪县| 霍山县| 团风县| 乌兰浩特市| 衡南县| 西藏| 兴仁县| 丰城市| 弥渡县| 抚松县| 铅山县| 稻城县| 横峰县| 东海县| 库车县| 太仆寺旗| 昭通市| 邻水| 城步| 随州市| 周口市| 新竹县|