婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > nginx配置SSL證書實現https服務的方法

nginx配置SSL證書實現https服務的方法

熱門標簽:金融行業外呼線路 長沙開福怎么申請400電話 江蘇電銷外呼防封系統是什么 賀州市地圖標注app 東莞人工智能電銷機器人供應商 百度地圖標注要不要錢 智能電話機器人線路 高德地圖標注無營業執照 廣州電銷機器人系統圖

在前面一篇文章中,使用openssl生成了免費證書后,我們現在使用該證書來實現我們本地node服務的https服務需求。假如我現在node基本架構如下:

|----項目
| |--- static     # 存放html文件
| | |--- index.html  # index.html
| |--- node_modules  # 依賴包
| |--- app.js     # node 入口文件
| |--- package.json 
| |--- .babelrc    # 轉換es6文件

index.html 文件代碼如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset=utf-8>
 <meta name="referrer" content="never">
 <title>nginx配置https</title>
</head>
<body>
 <div>
  <h2>歡迎使用https來訪問頁面</h2>
 </div>
</body>
</html>

app.js 代碼如下:

const Koa = require('koa');
const fs = require('fs');
const path = require('path');
const router = require('koa-router')();
const koaBody = require('koa-body');
const static = require('koa-static');

const app = new Koa();

router.get('/', (ctx, next) => {
 // 設置頭類型, 如果不設置,會直接下載該頁面
 ctx.type = 'html';
 // 讀取文件
 const pathUrl = path.join(__dirname, '/static/index.html');
 ctx.body = fs.createReadStream(pathUrl);
 next();
});

app.use(static(path.join(__dirname)));

app.use(router.routes());
app.use(router.allowedMethods());

app.listen(3001, () => {
 console.log('server is listen in 3001');
});

package.json 代碼如下;

{
 "name": "uploadandload",
 "version": "1.0.0",
 "description": "",
 "main": "app.js",
 "scripts": {
  "dev": "nodemon ./app.js"
 },
 "author": "",
 "license": "ISC",
 "dependencies": {
  "fs": "0.0.1-security",
  "koa": "^2.7.0",
  "koa-body": "^4.1.0",
  "koa-router": "^7.4.0",
  "koa-send": "^5.0.0",
  "koa-static": "^5.0.0",
  "nodemon": "^1.19.0",
  "path": "^0.12.7"
 }
}

然后我在項目的根目錄下執行 npm run dev 后,就可以在瀏覽器下訪問 http://localhost:3001 了,但是為了我想使用域名訪問的話,因此我們可以在 hosts文件下綁定下域名,比如叫 xxx.abc.com . hosts文件如下綁定:

127.0.0.1 xxx.abc.com

因此這個時候我們使用 http://xxx.abc.com:3001/ 就可以訪問頁面了,如下所示:

如上所示,我們就可以訪問頁面了,但是我們有沒有發現,在chrome瀏覽器下 顯示http請求是不安全的,因此這個時候我想使用https來訪問就好了,網頁的安全性就得到了保障,但是這個時候如果我什么都不做,直接使用https去訪問的話是不行的,比如地址:https://xxx.abc.com:3001. 如下圖所示:

我們知道使用https訪問的話,一般是需要安全證書的,因此我們現在的任務是需要使用nginx來配置下安全證書之類的事情,然后使用https能訪問網頁就能達到目標。

nginx配置https服務

1. 首先進入nginx目錄下,使用命令:cd /usr/local/etc/nginx。然后在該目錄下創建 cert文件夾,目的是存放證書文件。
使用命令:mkdir cert 如下所示:

2. 然后我們需要把證書相關的文件,比如server.crt 和 server.key 文件復制到該 cert目錄下。比如如下證書文件:

至于如上證書是如何生存的,可以請看我上篇文字 使用openssl 生存免費證書

移動命令:mv server.key /usr/local/etc/nginx/cert, 比如把server.key 和 server.crt文件都移動到 /usr/local/etc/nginx/cert目錄下。如下圖所示:

然后我們再查看下 /usr/local/etc/nginx/cert 目錄下,有如下文件,如下所示:

3. nginx的配置

nginx的配置需要加上如下代碼:

server {
 listen    443 ssl;
 server_name  xxx.abc.com;
 ssl on; // 該配置項需要去掉
 ssl_certificate   cert/server.crt;
 ssl_certificate_key cert/server.key;
 /*
  設置ssl/tls會話緩存的類型和大小。如果設置了這個參數一般是shared,buildin可能會參數內存碎片,默認是none,和off差不多,停用緩存。如shared:SSL:10m表示我所有的nginx工作進程共享ssl會話緩存,官網介紹說1M可以存放約4000個sessions。
 */
 ssl_session_cache  shared:SSL:1m;
 // 客戶端可以重用會話緩存中ssl參數的過期時間,內網系統默認5分鐘太短了,可以設成30m即30分鐘甚至4h。
 ssl_session_timeout 5m;

 /*
  選擇加密套件,不同的瀏覽器所支持的套件(和順序)可能會不同。
  這里指定的是OpenSSL庫能夠識別的寫法,你可以通過 openssl -v cipher 'RC4:HIGH:!aNULL:!MD5'(后面是你所指定的套件加密算法) 來看所支持算法。
 */
 ssl_ciphers HIGH:!aNULL:!MD5;

 // 設置協商加密算法時,優先使用我們服務端的加密套件,而不是客戶端瀏覽器的加密套件。
 ssl_prefer_server_ciphers on;

 location / {
  proxy_pass http://localhost:3001;
 }
}

注意:如上 ssl on; 這個配置項需要去掉。假如是如上的配置后,我重新啟動下nginx命令會報錯,如下所示:

SSL: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt error:0906A065:PEM routines:PEM_do_header:bad decrypt 類似這樣的錯,然后通過百度搜索這個錯誤,通過如下方法可以解決:

進入到該目錄下:cd /usr/local/etc/nginx/cert 然后執行下面兩句代碼即可:

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

如下所示:

可以看百度搜索出來的頁面

然后當我繼續重啟下 nginx, 發現還會報錯,報錯信息如下:

nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead

然后繼續把 ssl on; 這句配置項去掉就可以了,可能和nginx的版本有關系

最近升級到 nginx 1.15,reload之后所有帶 ssl 的站點都報這個警告了,查了很多資料,最后在 github 上面找到了一條相關的英文說明: ( https://github.com/voxpupuli/puppet-nginx/issues/1224 ) 本人英文不好,大概意思應該是說 nginx 1.15 及以后的版本,不需要再寫 ssl on; 了。

去 nginx.conf 刪掉 ssl on; 之后,reload,果然沒再報警,目前使用沒啥問題。

我確實理解錯了,應該把 ssl on 改成 listen 443 ssl 這樣才對。

現在我繼續重啟下nginx就ok了,如下所示:

但是如上配置后,我們還不能直接 使用 域名 https://xxx.abc.com/ 訪問了,我們還需要在瀏覽器下把自己之前生成的client.crt 證書安裝上去,在mac系統下操作步驟如下:

1. 點擊如下啟動臺。如下所示:

2. 搜索鑰匙串訪問,點擊進去,如下所示

3. 進入到證書頁面,把我們之前的client.crt證書拖進到證書里面去即可,比如我之前生成的 client.crt證書,如下所示:

4. 右鍵點擊我的證書,然后點擊 "顯示簡介", 進入到證書詳情頁面后。如下圖所示:

5. 進入頁面后,使用證書時,選擇始終信任后,如下圖所示:

6. 然后退出,可能需要輸入電腦開機密碼,輸入完成,會自動保存。然后我們在瀏覽器訪問該 https://xxx.abc.com/ 頁面后就可以訪問的到了。如下所示:

然后我們點擊繼續訪問即可看到頁面了,如下所示:

如上就是使用 nginx + 證書 實現 本地node https服務了。

但是如上https雖然可以訪問,但是https前面還是顯示不安全的文案; 如下圖所示:

可能的原因該證書是自己生成的證書,不是購買第三方的證書導致的吧。具體啥原因,目前我也不知道,至少現在我們可以使用https來訪問我們的項目了。

github上簡單node服務啟動的源碼

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:張家界 滄州 廊坊 松原 北京 永州 洛陽 玉樹

巨人網絡通訊聲明:本文標題《nginx配置SSL證書實現https服務的方法》,本文關鍵詞  nginx,配置,SSL,證書,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《nginx配置SSL證書實現https服務的方法》相關的同類信息!
  • 本頁收集關于nginx配置SSL證書實現https服務的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    极品少妇xxxx精品少妇偷拍| 日韩和欧美一区二区| 色一情一伦一子一伦一区| 国产久卡久卡久卡久卡视频精品| 日韩av电影天堂| 日韩黄色小视频| 免费成人结看片| 日本美女一区二区三区视频| 日本午夜精品一区二区三区电影| 视频一区二区三区入口| 免费观看一级特黄欧美大片| 蓝色福利精品导航| 国产一区二区精品久久91| 国产风韵犹存在线视精品| 亚洲综合激情另类小说区| 中文字幕欧美日韩一区| 懂色av一区二区三区免费观看 | 欧美精品v日韩精品v韩国精品v| 99热在这里有精品免费| 日韩三级视频中文字幕| 国产精品视频免费看| 99re这里都是精品| 欧美性欧美巨大黑白大战| 亚洲三级在线播放| 中文字幕亚洲欧美在线不卡| 成人免费观看视频| 日本视频中文字幕一区二区三区| 精品国产123| 国产无人区一区二区三区| 精品国产乱码久久久久久闺蜜| 日韩美女一区二区三区| 久久久噜噜噜久久人人看| 欧美一区二区三区色| 欧美性欧美巨大黑白大战| 国内精品久久久久影院薰衣草 | 欧美一二区视频| 欧美妇女性影城| 国产欧美视频一区二区| 亚洲一级在线观看| 偷窥少妇高潮呻吟av久久免费| 久久国产精品72免费观看| 成人永久看片免费视频天堂| 丁香激情综合国产| 欧美系列一区二区| 1024精品合集| 国产精品午夜久久| 国产一区二区看久久| 91毛片在线观看| 中文字幕一区二区三| 亚洲一区二区三区爽爽爽爽爽 | 国产精品一区二区三区99| 国产精品18久久久久久久久| 在线日韩av片| 国产欧美日韩不卡| 久久精品国产亚洲一区二区三区| 另类专区欧美蜜桃臀第一页| 免播放器亚洲一区| 欧美二区三区的天堂| 精品国产青草久久久久福利| 免费在线观看成人| 国产欧美一区二区精品秋霞影院 | 亚洲人成网站精品片在线观看| 国产精品无人区| 不卡的av网站| 一区精品在线播放| 不卡电影免费在线播放一区| 在线成人av影院| 免费久久精品视频| 99re成人在线| 精品一区二区影视| 久久久久久久网| 日韩高清在线电影| 欧美在线一区二区| 亚洲sss视频在线视频| 欧美在线影院一区二区| 亚洲成人一区二区| 精品1区2区3区| 亚洲靠逼com| 91麻豆精品在线观看| 天天色 色综合| wwww国产精品欧美| 成人午夜在线免费| 午夜精品福利一区二区三区av| 欧美一区二区三区视频在线 | 日韩av电影免费观看高清完整版 | 日本女人一区二区三区| 久久婷婷成人综合色| 91在线云播放| 国内欧美视频一区二区| 2024国产精品视频| 欧美国产视频在线| 91精品久久久久久久91蜜桃| 欧美亚洲一区二区三区四区| 欧美色男人天堂| 欧美老肥妇做.爰bbww| 日本道在线观看一区二区| 国产精品主播直播| 成人sese在线| 色又黄又爽网站www久久| 国产精品1024| 免费欧美在线视频| 亚洲一区免费在线观看| 日韩视频永久免费| 精品女同一区二区| 日本一区二区三区在线观看| 中文字幕一区二区三区不卡在线 | 五月天网站亚洲| 亚洲一区在线观看视频| 国产精品传媒入口麻豆| 99视频热这里只有精品免费| 国产91在线|亚洲| 久久国产麻豆精品| 色视频欧美一区二区三区| 欧美一级一区二区| 国产一区二区三区蝌蚪| 欧美日韩高清一区二区三区| 国产精品日韩精品欧美在线| 蜜臀av性久久久久av蜜臀妖精| 北条麻妃一区二区三区| 欧美久久久久久蜜桃| 国产成人在线电影| 日韩亚洲欧美在线| 一级女性全黄久久生活片免费| 免费成人在线视频观看| 久久久久99精品国产片| 国产一区二区精品久久91| 亚洲黄色尤物视频| 欧美一区二区三区在线| 婷婷久久综合九色国产成人| 欧美日韩一区 二区 三区 久久精品 | 欧美老年两性高潮| 日本欧美在线看| 色狠狠一区二区三区香蕉| 亚洲人成网站影音先锋播放| 99热99精品| 在线视频欧美精品| 欧美一区二区在线免费播放| 亚洲高清不卡在线观看| 欧美性受xxxx| 韩国成人在线视频| 欧美在线观看18| 亚洲一区二区精品视频| 一本色道久久综合狠狠躁的推荐| 国产精品午夜免费| 99久久免费国产| 最新不卡av在线| 色天天综合色天天久久| 国产精品色哟哟| 国产aⅴ综合色| 国产精品国产a| 欧美一区二区三区婷婷月色| 一区二区三区小说| 成人久久18免费网站麻豆 | 一区二区三国产精华液| 在线亚洲+欧美+日本专区| 国产精品色呦呦| 91丨porny丨户外露出| 国产精品不卡一区| 亚洲444eee在线观看| 中文字幕一区二区视频| 欧美一区二区三区小说| 色婷婷久久综合| www.日韩av| 成人一区二区三区| 国产精品亚洲视频| 久久爱www久久做| 久久国内精品自在自线400部| 国产精品久久久久9999吃药| 日韩免费成人网| 欧美精品tushy高清| 欧美一区二区三区四区高清| 日韩一区二区三区电影在线观看| 欧美日韩精品欧美日韩精品 | 欧美视频一区二区三区四区| 95精品视频在线| 国产91丝袜在线观看| 91丨porny丨国产入口| 精品99999| 欧美成人性战久久| 欧美精品一区二区三区在线| 国产精品久久久久四虎| 国产精品久久久久久久久果冻传媒| 久久精品在线观看| 一区二区三区欧美日| 美国一区二区三区在线播放| 国产风韵犹存在线视精品| 国产成人一级电影| 欧美三级中文字| 欧美va天堂va视频va在线| 国产精品色噜噜| 图片区日韩欧美亚洲| 成人精品免费视频| 日韩午夜在线观看视频| 日本一区二区三级电影在线观看| 一区二区在线观看视频| 成人理论电影网| 日韩免费高清视频| 亚洲国产aⅴ成人精品无吗| 丰满少妇在线播放bd日韩电影| 成人久久久精品乱码一区二区三区|