欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx如何將http訪問(wèn)的網(wǎng)站改成https訪問(wèn)

 更新時(shí)間:2021年02月01日 10:01:34   作者:Faquir  
這篇文章主要介紹了nginx如何將http訪問(wèn)的網(wǎng)站改成https訪問(wèn),幫助大家更好的理解和使用nginx,感興趣的朋友可以了解下

1. 背景

我有個(gè)用于數(shù)據(jù)展示的網(wǎng)站使用nginx對(duì)外提供http訪問(wèn),另外一個(gè)系統(tǒng)用超鏈接的方式跳轉(zhuǎn)到我的網(wǎng)站提供給終端用戶(hù)訪問(wèn)。后來(lái)對(duì)方說(shuō)他們的站點(diǎn)是https訪問(wèn)的,不能直接訪問(wèn)http,所以需要我支持https訪問(wèn)。

所以這里僅限于展示類(lèi)網(wǎng)站的參考,交互式網(wǎng)站我也不會(huì)。

***對(duì)nginx的了解僅限于可以通過(guò)配置文件完成網(wǎng)站訪問(wèn)的配置,其他沒(méi)有深入理解。***

2. 預(yù)備知識(shí)

https:

HTTPS(全稱(chēng):Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本傳輸安全協(xié)議),是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。 

簡(jiǎn)單來(lái)講就是網(wǎng)站中嵌入證書(shū),用戶(hù)通過(guò)瀏覽器和網(wǎng)站服務(wù)器交互時(shí)數(shù)據(jù)會(huì)被加密,保證安全。

證書(shū)體系:

樹(shù)狀結(jié)構(gòu),可能有多層證書(shū)辦法機(jī)構(gòu),最頂層的叫根證書(shū)機(jī)構(gòu),持有根證書(shū)私鑰,可以簽發(fā)下一級(jí)證書(shū),每個(gè)機(jī)構(gòu)或者人使用的證書(shū)由證書(shū)頒發(fā)機(jī)構(gòu)頒發(fā),簡(jiǎn)單來(lái)講就是用頒發(fā)機(jī)構(gòu)的私鑰,對(duì)證書(shū)人的個(gè)人信息、公鑰等諸多信息做數(shù)字簽名,對(duì)外宣稱(chēng)這個(gè)證書(shū)由他證明。證書(shū)可以公開(kāi)訪問(wèn)以驗(yàn)證持有者身份,由頒發(fā)機(jī)構(gòu)背書(shū),證書(shū)對(duì)應(yīng)私鑰由持有人持有,不對(duì)外公開(kāi),用于解密他人通過(guò)證書(shū)中公鑰加密的私密消息。

有點(diǎn)類(lèi)似于公安機(jī)構(gòu)對(duì)于身份證的頒發(fā),全國(guó)總上層有一個(gè)公安部,負(fù)責(zé)所有省級(jí)公安廳的管理,省級(jí)負(fù)責(zé)市級(jí),...,最終由派出所給個(gè)人頒發(fā)身份證,我們拿著身份證就可以對(duì)外證明自己的身份,因?yàn)橛信沙鏊谋硶?shū),而派出所又有上級(jí)、上上級(jí)一直到公安部的背書(shū)。不同的是我們的身份證里并沒(méi)有證書(shū)包含的那么多消息。

備注:證書(shū)依賴(lài)于公鑰加密體制,公鑰密碼體系包含公鑰、私鑰兩把密鑰,公鑰用戶(hù)加密、驗(yàn)簽,私鑰用于解密、簽名。

3. 操作過(guò)程

3.1 證書(shū)生成

主要過(guò)程是:根證書(shū) -->服務(wù)器證書(shū),這里的服務(wù)器證書(shū)指的是我上面所提到需要添加https訪問(wèn)的網(wǎng)站服務(wù)器,

1. 生成根證書(shū)私鑰、生成根證書(shū)請(qǐng)求、創(chuàng)建自簽發(fā)根證書(shū)

#生成根證書(shū)私鑰
openssl genrsa -out root.key 2048
 
#生成根證書(shū)請(qǐng)求
openssl req -new -key root.key -out root.csr
 
#用根證書(shū)私鑰自簽生成根證書(shū)
openssl x509 -req -in root.csr -extensions v3_ca -signkey root.key -out root.crt

這里根證書(shū)私鑰自簽證書(shū)的原因是,證書(shū)的格式都是一致的,需要有證書(shū)頒發(fā)簽發(fā),因?yàn)楦C書(shū)頒發(fā)機(jī)構(gòu)沒(méi)有上級(jí),所以根證書(shū)頒發(fā)機(jī)構(gòu)給自己簽發(fā)證書(shū),因此有需要大家都信任他。

2. 生成服務(wù)器證書(shū)私鑰、生成服務(wù)器證書(shū)請(qǐng)求、使用根證書(shū)私鑰簽發(fā)服務(wù)器證書(shū),這里注意此服務(wù)器證書(shū)的commonName需要設(shè)置成nginx配置文件中的server_name,保持一致。

#生成服務(wù)器證書(shū)私鑰
openssl genrsa -out server.key 2048
 
#生成服務(wù)器證書(shū)請(qǐng)求
openssl  req -new -key server.key  -out server.csr
 
#生成服務(wù)器證書(shū)
openssl x509 -days 365 -req -in server.csr -extensions v3_req -CAkey root.key -CA root.crt -CAcreateserial -out server.crt -extfile openssl.cnf

 這里有個(gè)openssl.cnf文件需要注意,里面描述了需要頒發(fā)的服務(wù)器證書(shū)的一些信息,內(nèi)容如下

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
 
[req_distinguished_name]
countryName = CN
countryName_default = CN
stateOrProvinceName = Guizhou
stateOrProvinceName_default = Guizhou
localityName = Guizhou
localityName_default = Guizhou
organizationalUnitName = (如果網(wǎng)頁(yè)訪問(wèn)是ip就寫(xiě)ip,如果是域名就寫(xiě)域名)
organizationalUnitName_default = (如果網(wǎng)頁(yè)訪問(wèn)是ip就寫(xiě)ip,如果是域名就寫(xiě)域名)
commonName = (如果網(wǎng)頁(yè)訪問(wèn)是ip就寫(xiě)ip,如果是域名就寫(xiě)域名)
commonName_max = 64
 
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment

3.2 nginx配置

打開(kāi)nginx配置中HTTPS server部分的注釋?zhuān)薷膕erver_name、ssl_certificate、ssl_certificate_key、location中的root等字段。

...
 # HTTPS server
 #
 server {
  listen  443 ssl;
  server_name xxx.com(網(wǎng)址訪問(wèn)地址);

 ssl on;
  ssl_certificate  xxx.crt(服務(wù)器證書(shū));
  ssl_certificate_key xxx.key(服務(wù)器證書(shū)私鑰);

  ssl_session_cache shared:SSL:1m;
  ssl_session_timeout 5m;

  ssl_ciphers HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers on;

  location / {
   root xxx(前端代碼目錄);
   index index.html index.htm;
  }
 }
...

啟動(dòng)nginx,即可對(duì)外提供服務(wù)了。

3.3 瀏覽器訪問(wèn)

到現(xiàn)在我們已經(jīng)在服務(wù)器端配置了https訪問(wèn),但是瀏覽器訪問(wèn)的時(shí)候會(huì)提示證書(shū)錯(cuò)誤,因?yàn)闉g覽器現(xiàn)在還不認(rèn)識(shí)我們的證書(shū),不確定它是不是安全的。就像我們都拿著公安部頒發(fā)的身份證去證明身份沒(méi)問(wèn)題,但是你拿著自己頒發(fā)的一個(gè)身份證去證明別人就不一定會(huì)信了,因?yàn)闆](méi)人知道你的頒發(fā)機(jī)構(gòu)是什么情況。

所以我們要把服務(wù)器證書(shū)的頒發(fā)機(jī)構(gòu),即我們上面生成的根證書(shū)添加到瀏覽器的信任列表中,具體操作方法:如果是windows系統(tǒng),可以直接雙擊根證書(shū)文件,點(diǎn)擊安裝,安裝到受信任的根證書(shū)頒發(fā)機(jī)構(gòu),這時(shí)候就可以順利訪問(wèn)了。

以上就是nginx如何將http訪問(wèn)的網(wǎng)站改成https訪問(wèn)的詳細(xì)內(nèi)容,更多關(guān)于nginx http訪問(wèn)改成https訪問(wèn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼

    Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼

    這篇文章主要介紹了Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 啟用Nginx目錄瀏覽功能的方法

    啟用Nginx目錄瀏覽功能的方法

    這篇文章主要介紹了啟用Nginx目錄瀏覽功能的方法,需要的朋友可以參考下
    2014-03-03
  • 如何利用nginx通過(guò)正則攔截指定url請(qǐng)求詳解

    如何利用nginx通過(guò)正則攔截指定url請(qǐng)求詳解

    這篇文章主要介紹了如何利用nginx通過(guò)正則攔截指定url請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Nginx出現(xiàn)504 Gateway Time-out的解決方法

    Nginx出現(xiàn)504 Gateway Time-out的解決方法

    nginx訪問(wèn)出現(xiàn)504 Gateway Time-out,一般是由于程序執(zhí)行時(shí)間過(guò)長(zhǎng)導(dǎo)致響應(yīng)超時(shí),本文就來(lái)介紹一下解決方法,感興趣的可以了解一下
    2023-10-10
  • 詳解Nginx 利用代理轉(zhuǎn)發(fā)請(qǐng)求示例

    詳解Nginx 利用代理轉(zhuǎn)發(fā)請(qǐng)求示例

    這篇文章主要介紹了詳解Nginx 利用代理轉(zhuǎn)發(fā)請(qǐng)求示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Nginx反代Mogilefs分布式儲(chǔ)存示例詳解

    Nginx反代Mogilefs分布式儲(chǔ)存示例詳解

    這篇文章主要給大家介紹了關(guān)于Nginx反代Mogilefs分布式儲(chǔ)存的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 詳解如何基于Nginx搭建流媒體服務(wù)器

    詳解如何基于Nginx搭建流媒體服務(wù)器

    Nginx RTMP是一個(gè)Nginx插件,支持將RTMP和HLS流添加到媒體服務(wù)器,本文將以u(píng)buntu為例為大家介紹一下如何安裝使用nginx Rtmp 插件的步驟,需要的可以參考下
    2023-10-10
  • nginx 限速之limit_conn的使用

    nginx 限速之limit_conn的使用

    通過(guò)nginx我們有三種限速方式分別是: 限制請(qǐng)求數(shù)(request),限制連接數(shù)(connection),限制響應(yīng)速度(rate),本文就來(lái)介紹一下nginx 限速之limit_conn的使用,ngx_http_limit_conn_module 模塊主要是用于根據(jù)特定的key來(lái)限制連接的數(shù)量,感興趣的可以了解一下
    2023-10-10
  • 詳解Nginx防盜鏈和Nginx訪問(wèn)控制與Nginx解析php的配置

    詳解Nginx防盜鏈和Nginx訪問(wèn)控制與Nginx解析php的配置

    這篇文章主要介紹了詳解Nginx防盜鏈和Nginx訪問(wèn)控制與Nginx解析php的配置的相關(guān)資料,這里提供實(shí)例幫助大家,學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • Nginx新增http_ssl_module模塊的解決方案

    Nginx新增http_ssl_module模塊的解決方案

    這篇文章主要介紹了Nginx新增http_ssl_module模塊的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11

最新評(píng)論