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

Nginx下將http改為https的操作步驟

 更新時(shí)間:2024年08月06日 11:57:10   作者:野生的狒狒  
HTTPS是HTTP協(xié)議的安全版本,通過(guò)使用SSL(安全套接層)或TLS(傳輸層安全)協(xié)議加密通信,為數(shù)據(jù)傳輸提供了保密性、完整性和身份認(rèn)證,本文給大家介紹了Nginx下將http改為https的操作方法,需要的朋友可以參考下

將服務(wù)從 HTTP 變?yōu)?nbsp;HTTPS,需要進(jìn)行 SSL 證書(shū)的配置。需要完成一下步驟:

  • 獲取 SSL 證書(shū)
  • 安裝 SSL 證書(shū)
  • 配置 Nginx 支持 HTTPS
  • 重啟 Nginx
  • HTTP 到 HTTPS 的重定向(可選)

1. 獲取 SSL 證書(shū)(自簽名證書(shū))

對(duì)于 SSL/TLS 證書(shū),一般來(lái)說(shuō),它們是基于 域名 進(jìn)行頒發(fā)的,而不是 IP地址。這是因?yàn)?nbsp;SSL/TLS 證書(shū)是用來(lái)驗(yàn)證服務(wù)器身份和提供一個(gè)安全的連接通道的,它們需要關(guān)聯(lián)到一個(gè)被認(rèn)可的域名以確保服務(wù)器的真實(shí)性。

如果你沒(méi)有 域名,但是你的應(yīng)用又需要使用 HTTPS,那么以下幾種方式或許可以考慮:

  1. 購(gòu)買(mǎi)一個(gè)域名:
    域名現(xiàn)在相當(dāng)便宜,你可以購(gòu)買(mǎi)一個(gè),并將其解析到你的 IP 地址。
  2. 自簽名證書(shū):
    可以創(chuàng)建自己的自簽名證書(shū)。但是,用戶的瀏覽器會(huì)顯示一個(gè)警告,提示他們證書(shū)不受信任。這可能不適合面向公眾的應(yīng)用程序,但對(duì)于測(cè)試或內(nèi)部使用的服務(wù)來(lái)說(shuō),這是一個(gè)可行的選擇。
  3. 使用 CloudFlare
    CloudFlare 是一個(gè)內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)和 DNS 提供商,它提供免費(fèi)的 SSL 證書(shū),即使你沒(méi)有域名也可以使用。但是,這需要將你的流量通過(guò)他們的網(wǎng)絡(luò),可能并不適合所有應(yīng)用。

1.1. 安裝 openssl

// 更新 apt-get 下載源節(jié)點(diǎn)
sudo apt-get update
 
// 查看當(dāng)前 apt-get 下載源節(jié)點(diǎn)里 libssl-dev 可下載安裝的所有版本和默認(rèn)的最合適的版本
sudo apt-cache policy libssl-dev
 
// 下載并默認(rèn)安裝 libssl-dev(默認(rèn)的版本)
sudo apt-get install libssl-dev
 
// 如果要指定安裝某個(gè)版本
//sudo apt-get install libssl-dev=版本號(hào)

1.2. 自簽名證書(shū)

使用 OpenSSL 工具來(lái)創(chuàng)建自己的自簽名證書(shū)

  1. 生成私鑰
    打開(kāi)命令行,然后輸入以下命令來(lái)生成一個(gè)新的 RSA 私鑰:openssl genrsa -out server.key 2048,將在當(dāng)前目錄下生成一個(gè)名為 server.key 的 2048 位私鑰文件。
  2. 生成證書(shū)簽名請(qǐng)求(CSR)
    使用此命令生成 CSR(Certificate Signing Request):openssl req -new -key server.key -out server.csr,會(huì)提示輸入很多東西,一直按 enter 即可
  3. 生成自簽名證書(shū)
    最后,使用以下命令生成自簽名證書(shū):openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt,這將生成一個(gè)有效期為一年的自簽名證書(shū) server.crt。

1.3. 嘗試在 flask 應(yīng)用中使用

from flask import Flask
 
 
app = Flask(__name__)
 
 
@app.route("/")
def index():
    return "Hello World"
 
 
if __name__ == "__main__":
    app.run(ssl_context=('server.crt', 'server.key'), host='0.0.0.0', port=8080)
    #app.run(host='0.0.0.0', port=8080)

這樣,F(xiàn)lask 服務(wù)器就會(huì)在 HTTPS 上運(yùn)行了。但是,請(qǐng)注意,因?yàn)槭褂玫氖亲院灻C書(shū),所以瀏覽器將警告用戶這個(gè)連接不安全(因?yàn)樽C書(shū)不是由受信任的證書(shū)頒發(fā)機(jī)構(gòu)簽署的)。對(duì)于公開(kāi)服務(wù),應(yīng)該考慮獲得一個(gè)由公認(rèn)的 CA 簽署的證書(shū)。

直接在 flask 中使用 ssl 證書(shū)的示意圖:

image

image

2. 安裝 SSL 證書(shū)

將上面生成的 SSL 證書(shū)文件放置到位于 /etc/nginx/ssl/ 目錄中。確保已經(jīng)擁有了服務(wù)器私鑰(server.key)和證書(shū)文件(server.crt 或 server.crt)。

3. 配置 Nginx 支持 HTTPS

3.1. 打開(kāi) Nginx 配置文件

Nginx 的配置文件通常位于 /etc/nginx/ 目錄下,具體取決于你的系統(tǒng)和 Nginx 安裝方式。大部分情況下,站點(diǎn)特定的配置在 /etc/nginx/sites-available/ 中。

3.2. 修改或增加一個(gè)server塊

在 /etc/nginx/sites-available/default 配置文件中,將文件中的內(nèi)容全部替換為下面的 server 模塊(或者新建一個(gè)使用 SSL 的 server 塊),內(nèi)容如下:

server {
    listen 443 ssl;
    server_name _;
    # server_name your-domain.com;                  # 沒(méi)有域名則直接寫(xiě)一個(gè)下劃線即可
 
    ssl_certificate /etc/nginx/ssl/server.crt;      # 修改為證書(shū)路徑
    ssl_certificate_key /etc/nginx/ssl/server.key;  # 修改為私鑰路徑
 
    location / {
        proxy_pass http://127.0.0.1:8080;           # 修改為 http 服務(wù)地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
  • 替換 your-domain.com 為真實(shí)的域名,沒(méi)有域名則直接寫(xiě)一個(gè)下劃線(_)即可。
  • listen 443 ssl 告訴 Nginx 在 443 端口上監(jiān)聽(tīng) SSL 連接。
  • ssl_certificate 和 ssl_certificate_key 指令分別指向你的證書(shū)文件和私鑰文件的實(shí)際路徑。

4. 重啟 Nginx

保存并關(guān)閉配置文件,然后運(yùn)行以下命令來(lái)檢查新的配置是否有語(yǔ)法錯(cuò)誤:

sudo nginx -t

如果這個(gè)命令沒(méi)有報(bào)錯(cuò),就可以安全地重啟 Nginx:

sudo systemctl restart nginx

nginx 重啟成功后,將可以在瀏覽器上通過(guò) https 訪問(wèn)服務(wù)器應(yīng)用了。由于使用的是自簽名證書(shū),用戶的瀏覽器將顯示一個(gè)警告,提示他們此證書(shū)不受信任。這對(duì)于測(cè)試和開(kāi)發(fā)環(huán)境可能沒(méi)問(wèn)題,但是如果計(jì)劃在生產(chǎn)環(huán)境中使用 SSL,應(yīng)該考慮從一個(gè)可信的證書(shū)頒發(fā)機(jī)構(gòu)獲取一個(gè)證書(shū)。

使用 nginx 作為反向代理后,使用 ssl 證書(shū)的示意圖:

image

image

5. HTTP 到 HTTPS 的重定向(可選)

如果希望所有的 HTTP 流量都自動(dòng)跳轉(zhuǎn)到 HTTPS,可以在 Nginx 配置中添加以下內(nèi)容:

server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$host$request_uri;
}

這段配置會(huì)捕獲所有到端口 80(HTTP) 的請(qǐng)求,并將它們重定向到相同地址的 HTTPS 版本。

到此這篇關(guān)于Nginx下將http改為https的操作步驟的文章就介紹到這了,更多相關(guān)Nginx將http改為https內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx 代理轉(zhuǎn)發(fā)阿里云OSS上傳的實(shí)現(xiàn)代碼

    Nginx 代理轉(zhuǎn)發(fā)阿里云OSS上傳的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Nginx 代理轉(zhuǎn)發(fā)阿里云OSS上傳的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • nginx配置文件不使用緩存的方法

    nginx配置文件不使用緩存的方法

    使用Nginx作為Web緩存服務(wù)器,能有效減少數(shù)據(jù)傳輸、節(jié)省網(wǎng)絡(luò)流量、加快響應(yīng)速度、減輕服務(wù)器壓力、提高服務(wù)端可用性,本文就來(lái)介紹一下nginx配置文件不使用緩存的方法,感興趣的可以了解一下
    2024-11-11
  • Nginx 動(dòng)態(tài)域名解析過(guò)程詳解

    Nginx 動(dòng)態(tài)域名解析過(guò)程詳解

    這篇文章主要為大家介紹了Nginx 動(dòng)態(tài)域名解析過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Nginx訪問(wèn)日志及錯(cuò)誤日志參數(shù)說(shuō)明

    Nginx訪問(wèn)日志及錯(cuò)誤日志參數(shù)說(shuō)明

    這篇文章主要介紹了Nginx訪問(wèn)日志及錯(cuò)誤日志參數(shù)說(shuō)明,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 一次nginx 504 Gateway Time-out錯(cuò)誤排查、解決記錄

    一次nginx 504 Gateway Time-out錯(cuò)誤排查、解決記錄

    這篇文章主要介紹了一次nginx 504 Gateway Time-out錯(cuò)誤排查、解決記錄,經(jīng)過(guò)反復(fù)檢查,發(fā)現(xiàn)造成這個(gè)問(wèn)題的原因就是PHP的CURL沒(méi)有設(shè)置超時(shí)時(shí)間,解決辦法只要設(shè)置超時(shí)時(shí)間或者修改一下nginx的配置即可解決,需要的朋友可以參考下
    2014-05-05
  • zabbix自定義監(jiān)控nginx狀態(tài)實(shí)現(xiàn)過(guò)程

    zabbix自定義監(jiān)控nginx狀態(tài)實(shí)現(xiàn)過(guò)程

    這篇文章主要為大家介紹了zabbix如何自定義監(jiān)控nginx狀態(tài)的實(shí)現(xiàn)過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • 結(jié)合 Nginx 將 DoNetCore 部署到 阿里云的安裝配置方法

    結(jié)合 Nginx 將 DoNetCore 部署到 阿里云的安裝配置方法

    這篇文章主要介紹了結(jié)合 Nginx 將 DoNetCore 部署到 阿里云的方法 ,需要的朋友可以參考下
    2018-10-10
  • 一文弄懂Nginx熱升級(jí)

    一文弄懂Nginx熱升級(jí)

    Nginx熱升級(jí)指服務(wù)不中斷情況下用新的Nginx二進(jìn)制文件替換老的Nginx二進(jìn)制文件,本文就來(lái)介紹一下Nginx熱升級(jí),感興趣的可以了解一下
    2024-05-05
  • Nginx?upstream使用教程

    Nginx?upstream使用教程

    本文主要介紹了Nginx?upstream使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • nginx下的代理服務(wù)器80端口被封的解決方案

    nginx下的代理服務(wù)器80端口被封的解決方案

    這篇文章主要是講:通過(guò)nginx下面的代理服務(wù)器,實(shí)現(xiàn)訪問(wèn)A地址的時(shí)候自動(dòng)代理到B地址的某個(gè)端口,主要用于標(biāo)題說(shuō)的某個(gè)端口被日.其他東西都正常的情況下,這玩意早上我剛剛測(cè)試過(guò),這博客就是個(gè)很好的例子.
    2010-06-06

最新評(píng)論