国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Nginx實現(xiàn)本地http轉(zhuǎn)https請求

這篇具有很好參考價值的文章主要介紹了Nginx實現(xiàn)本地http轉(zhuǎn)https請求。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

前言:

一、安裝nginx

二、安裝OpenSSL

? ? ? ? ?1、下載OpenSSL:

? ? ? ? ?2、配置環(huán)境變量:

? ? ? ? ? ? ? ? ? 2.1:配置環(huán)境變量,OpenSSL_HOME?

? ? ? ? ? ? ? ? ? 2.2:配置path

?三、生成https證書

? ? ? ? ?1、創(chuàng)建ssl文件夾用于存放證書。創(chuàng)建私鑰 (建議使用系統(tǒng)窗口,不要用gitBash 有涉及到選擇的地方,gitBash無法選擇)

? ? ? ? ?2、文件夾中生成shidian.key文件 創(chuàng)建csr證書。

? ? ? ? ?3、復制?shidian.key?并重命名?shidian.key.org?執(zhí)行命令

? ? ? ? ?4、生成crt證書

?四、修改nginx.conf配置,使用https請求

?五、關(guān)于對https請求的理解

? ? ? ? ?1、為什么要用https?

? ? ? ? ?2、http存在的問題

? ? ? ? ?3、什么是https?

? ? ? ? ? ? ? ? ? 1、https定義:

? ? ? ? ? ? ? ? ? 2、SSL證書:

? ? ? ? ? ? ? ? ? 3、SSL發(fā)展史:?

? ? ? ? ?4、瀏覽器在使用HTTPS傳輸數(shù)據(jù)的流程是什么?

? ? ? ? ?5、HTTPS的缺點

? ? ? ? ?6、HTTP與HTTPS的對比


前言:

項目中有需要做接口回調(diào),測試和dev環(huán)境都是https方式請求調(diào)用沒有問題,但是本地調(diào)試不通。因為本地啟動后端服務都是http請求,所以使用nginx代理,將http請求轉(zhuǎn)換為https請求,方便調(diào)試。

一、安裝nginx

Nginx官網(wǎng):nginx: download

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

安裝到非中文目錄下:

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

?啟動Nginx:點擊nginx.exe文件,啟動nginx

然后訪問:

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維訪問成功,說明安裝nginx成功

二、安裝OpenSSL

OpenSSL官網(wǎng):Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

? ? ? ? ?1、下載OpenSSL:

?放到一個非中文的目錄下去:

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

? ? ? ? ?2、配置環(huán)境變量:

? ? ? ? ? ? ? ? ? 2.1:配置環(huán)境變量,OpenSSL_HOME?

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

? ? ? ? ? ? ? ? ? 2.2:配置path

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

?三、生成https證書

首先在Nginx得文件夾中新建一個ssl文件夾:

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

? ? ? ? ?1、創(chuàng)建ssl文件夾用于存放證書。創(chuàng)建私鑰 (建議使用系統(tǒng)窗口,不要用gitBash 有涉及到選擇的地方,gitBash無法選擇)

openssl genrsa -des3 -out shidian.key 1024? ? ? ? ? ? //shidian 自己取的名字

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

可以輸入pass作為初始的密碼,兩次一致。

? ? ? ? ?2、文件夾中生成shidian.key文件 創(chuàng)建csr證書。

openssl req -new -key shidian.key -out shidian.csr

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

?此時應該有兩個文件:

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

? ? ? ? ?3、復制?shidian.key?并重命名?shidian.key.org?執(zhí)行命令

openssl rsa -in shidian.key.org -out shidian.key

? ? ? ? ?4、生成crt證書

openssl x509 -req -days 365 -in shidian.csr -signkey shidian.key -out shidian.crt

最終的文件夾里的內(nèi)容為:

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

?四、修改nginx.conf配置,使用https請求

整個nginx.conf文件配置:


#user ?nobody;
worker_processes ?1;

#error_log ?logs/error.log;
#error_log ?logs/error.log ?notice;
#error_log ?logs/error.log ?info;

#pid ? ? ? ?logs/nginx.pid;


events {
? ? worker_connections ?1024;
}


http {
? ? include ? ? ? mime.types;
? ? default_type ?application/octet-stream;

? ? #log_format ?main ?'$remote_addr - $remote_user [$time_local] "$request" '
? ? # ? ? ? ? ? ? ? ? ?'$status $body_bytes_sent "$http_referer" '
? ? # ? ? ? ? ? ? ? ? ?'"$http_user_agent" "$http_x_forwarded_for"';

? ? #access_log ?logs/access.log ?main;

? ? sendfile ? ? ? ?on;
? ? #tcp_nopush ? ? on;

? ? #keepalive_timeout ?0;
? ? keepalive_timeout ?65;

? ? #gzip ?on;


? ? ?server {
? ? ? ?listen ? ? ? 80;
? ? ? ?server_name ?localhost;

? ? ? ?#charset koi8-r;

? ? ? ?#access_log ?logs/host.access.log ?main;

? ? ? ? location / {
? ? ? ? ? ? root ? html;
? ? ? ? ? ? index ?index.html index.htm;
? ? ? ?}

? ? ? ?#error_page ?404 ? ? ? ? ? ? ?/404.html;

? ? ? ? # redirect server error pages to the static page /50x.html
? ? ? ? #
? ? ? ? error_page ? 500 502 503 504 ?/50x.html;
? ? ? ? location = /50x.html {
? ? ? ? ? ? root ? html;
? ? ? ? }

? ? ? ? # proxy the PHP scripts to Apache listening on 127.0.0.1:80
? ? ? ? #
? ? ? ? #location ~ \.php$ {
? ? ? ? # ? ?proxy_pass ? http://127.0.0.1;
? ? ? ? #}

? ? ? ? # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
? ? ? ? #
? ? ? ? #location ~ \.php$ {
? ? ? ? # ? ?root ? ? ? ? ? html;
? ? ? ? # ? ?fastcgi_pass ? 127.0.0.1:9000;
? ? ? ? # ? ?fastcgi_index ?index.php;
? ? ? ? # ? ?fastcgi_param ?SCRIPT_FILENAME ?/scripts$fastcgi_script_name;
? ? ? ? # ? ?include ? ? ? ?fastcgi_params;
? ? ? ? #}

? ? ? ? # deny access to .htaccess files, if Apache's document root
? ? ? ? # concurs with nginx's one
? ? ? ? #
? ? ? ? #location ~ /\.ht {
? ? ? ? # ? ?deny ?all;
? ? ? ? #}
? ? }


? ? # another virtual host using mix of IP-, name-, and port-based configuration
? ? #
? ? #server {
? ? # ? ?listen ? ? ? 8000;
? ? # ? ?listen ? ? ? somename:8080;
? ? # ? ?server_name ?somename ?alias ?another.alias;

? ? # ? ?location / {
? ? # ? ? ? ?root ? html;
? ? # ? ? ? ?index ?index.html index.htm;
? ? # ? ?}
? ? #}


? ? # HTTPS server
? ? #
? ? server {
? ? ? ? listen ? ? ? 443 ssl;
? ? ? ? server_name ?localhost;

? ? ? ? # ssl_certificate ? ? ?cert.pem;
? ? ? ? # ssl_certificate_key ?cert.key;
?? ?ssl_certificate ? ? ?..//ssl//shidian.crt;
? ? ? ? ssl_certificate_key ?..//ssl//shidian.key;

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

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

? ? ? ? location / {
? ? ? ? ? ? root ? html;
? ? ? ? ? ? index ?index.html index.htm;
? ? ? ? }
? ? }
}

?

?關(guān)于ssl配置

? ? server {
? ? ? ? listen ? ? ? 443 ssl;
? ? ? ? server_name ?localhost;

? ? ? ? # ssl_certificate ? ? ?cert.pem;
? ? ? ? # ssl_certificate_key ?cert.key;
? ? ? ? ssl_certificate ? ? ?..//ssl//shidian.crt;? ? ?指的是ssl證書
? ? ? ? ssl_certificate_key ?..//ssl//shidian.key; 指的是ssl的密鑰

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

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

? ? ? ? location / {
? ? ? ? ? ? root ? html;
? ? ? ? ? ? index ?index.html index.htm;
? ? ? ? }
? ? }

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

進行https請求訪問:

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

給nginx配置https請求成功!

?五、關(guān)于對https請求的理解

? ? ? ? ?1、為什么要用https?

之前我們大部分的請求都是用的http的請求,現(xiàn)在為什么突然要用到https請求?

實際使用中,絕大多數(shù)的網(wǎng)站現(xiàn)在都采用的是https協(xié)議,這也是未來互聯(lián)網(wǎng)發(fā)展的趨勢。

在wireshark抓取的一個博客網(wǎng)站的登錄請求過程中,訪問的賬號密碼都是明文傳輸, 這樣客戶端發(fā)出的請求很容易被不法分子截取利用,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:各種賬號、密碼等信息,使用http協(xié)議傳輸隱私信息非常不安全。

? ? ? ? ?2、http存在的問題

  • 請求信息明文傳輸,容易被竊聽截取。
  • 數(shù)據(jù)的完整性未校驗,容易被篡改
  • 沒有驗證對方身份,存在冒充危險

? ? ? ? ?3、什么是https?

? ? ? ? ? ? ? ? ? 1、https定義:

HTTPS 協(xié)議(HyperText Transfer Protocol over Secure Socket Layer):一般理解為HTTP+SSL/TLS,通過 SSL證書來驗證服務器的身份,并為瀏覽器和服務器之間的通信進行加密。

那么問題來了,什么是SSL證書?

? ? ? ? ? ? ? ? ? 2、SSL證書:

1、SSL(Secure Socket Layer,安全套接字層):1994年為 Netscape 所研發(fā),SSL 協(xié)議位于 TCP/IP 協(xié)議與各種應用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。

2、TLS(Transport Layer Security,傳輸層安全):其前身是 SSL,它最初的幾個版本(SSL 1.0、SSL 2.0、SSL 3.0)由網(wǎng)景公司開發(fā),1999年從 3.1 開始被 IETF 標準化并改名,發(fā)展至今已經(jīng)有 TLS 1.0、TLS 1.1、TLS 1.2 三個版本。SSL3.0和TLS1.0由于存在安全漏洞,已經(jīng)很少被使用到。TLS 1.3 改動會比較大,目前還在草案階段,目前使用最廣泛的是TLS 1.1、TLS 1.2。

? ? ? ? ? ? ? ? ? 3、SSL發(fā)展史:?

  1. 1994年NetSpace公司設計SSL協(xié)議(Secure Sockets Layout)1.0版本,但未發(fā)布。
  2. 1995年NetSpace發(fā)布SSL/2.0版本,很快發(fā)現(xiàn)有嚴重漏洞
  3. 1996年發(fā)布SSL/3.0版本,得到大規(guī)模應用
  4. 1999年,發(fā)布了SSL升級版TLS/1.0版本,目前應用最廣泛的版本
  5. 2006年和2008年,發(fā)布了TLS/1.1版本和TLS/1.2版本

? ? ? ? ?4、瀏覽器在使用HTTPS傳輸數(shù)據(jù)的流程是什么?

Nginx實現(xiàn)本地http轉(zhuǎn)https請求,拓展與總結(jié)(項目總結(jié)),nginx,服務器,運維

  1. 首先客戶端通過URL訪問服務器建立SSL連接。
  2. 服務端收到客戶端請求后,會將網(wǎng)站支持的證書信息(證書中包含公鑰)傳送一份給客戶端。
  3. 客戶端的服務器開始協(xié)商SSL連接的安全等級,也就是信息加密的等級。
  4. 客戶端的瀏覽器根據(jù)雙方同意的安全等級,建立會話密鑰,然后利用網(wǎng)站的公鑰將會話密鑰加密,并傳送給網(wǎng)站。
  5. 服務器利用自己的私鑰解密出會話密鑰。
  6. 服務器利用會話密鑰加密與客戶端之間的通信

? ? ? ? ?5、HTTPS的缺點

  • HTTPS協(xié)議多次握手,導致頁面的加載時間延長近50%;
  • HTTPS連接緩存不如HTTP高效,會增加數(shù)據(jù)開銷和功耗;
  • 申請SSL證書需要錢,功能越強大的證書費用越高。
  • SSL涉及到的安全算法會消耗 CPU 資源,對服務器資源消耗較大。

? ? ? ? ?6、HTTP與HTTPS的對比

  • HTTPS是HTTP協(xié)議的安全版本,HTTP協(xié)議的數(shù)據(jù)傳輸是明文的,是不安全的,HTTPS使用了SSL/TLS協(xié)議進行了加密處理。
  • http和https使用連接方式不同,默認端口也不一樣,http是80,https是443。

今天的分享就到這了,希望能夠幫助到你!文章來源地址http://www.zghlxwxcb.cn/news/detail-808135.html

到了這里,關(guān)于Nginx實現(xiàn)本地http轉(zhuǎn)https請求的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • tengine/nginx https請求 轉(zhuǎn)發(fā) http upstream

    當前的互聯(lián)網(wǎng)應用基本都要支持https協(xié)議,而當瀏覽器頭通過https協(xié)議將請求發(fā)到到負責負載的nginx后,會由當前nginx再以http協(xié)議向后端upstream進行請求,之所以這么做是因為https協(xié)議的安全性也帶來的額外的性能消耗。而源端基本都是在一個內(nèi)網(wǎng)里面的,對于通訊協(xié)議的安全性

    2024年01月23日
    瀏覽(29)
  • Nginx接收Http協(xié)議請求轉(zhuǎn)發(fā)使用Https協(xié)議

    公司使用阿里的apigateway,規(guī)定不太友好,同是SIT環(huán)境,A系統(tǒng)的SIT1環(huán)境居然不能調(diào)用B系統(tǒng)的SIT2環(huán)境的接口。因為各個系統(tǒng)之間部署的SIT環(huán)境數(shù)量不同A系統(tǒng)可能只有1套,B系統(tǒng)可能有8套,這樣的話,可能會隨時切換調(diào)用B系統(tǒng)的環(huán)境,管理員不允許,于是想著用Nginx做下轉(zhuǎn)發(fā)。

    2024年02月08日
    瀏覽(28)
  • 通過nginx將https協(xié)議反向代理到http協(xié)議請求上

    通過nginx將https協(xié)議反向代理到http協(xié)議請求上

    目前一個系統(tǒng)僅支持https協(xié)議訪問,因后端服務基于ssl協(xié)議,前端在請求是也需要支持ssl協(xié)議的https請求來訪問。目前的代理服務器是nginx,現(xiàn)在想要 通過http訪問系統(tǒng) ,需通過nginx的 反向代理 或者 重定向方式 將https請求代理為http請求??蓪崿F(xiàn)的做法有如下幾種: 1、使后端

    2024年02月08日
    瀏覽(20)
  • nginx負載轉(zhuǎn)發(fā)源請求http/https:X-Forwarded-Proto及nginx中的轉(zhuǎn)發(fā)報頭

    今天在排查服務器的問題時最后定位到服務器因為經(jīng)過了運維這一層的處理,轉(zhuǎn)發(fā)過來的請求不管用戶請求的是https還是http,我們的proxy服務器收到的都是80端口上的http。于是聯(lián)系相關(guān)部門了解有沒有現(xiàn)成的可用的這樣一個字段來獲得這個值。公司用的也是標準報頭,即X-Fo

    2024年02月16日
    瀏覽(18)
  • Nginx配置springboot+vue項目http跳轉(zhuǎn)https

    Nginx配置springboot+vue項目http跳轉(zhuǎn)https

    java生成證書 添加依賴 復制keystore到springboot資源目錄,修改application.yml配置 ?啟動項目 nginx配置 開啟ssl ? ? 重啟nginx -s reload 訪問localhost:81將跳轉(zhuǎn)到https://localhost/login?redirect=/index ?

    2024年02月12日
    瀏覽(24)
  • nginx支持一個端口訪問多個前端項目(http以及https)

    ????最近做項目結(jié)構(gòu)優(yōu)化,前端項目都是部署在nginx上,想實現(xiàn)同一個端口可以訪問多個前端項目.這樣可以提高服務器的端口復用率,降低項目部署以及維護成本.根據(jù)平常的需求,用兩臺nginx服務器分別支持http、https同一端口訪問不同項目。下面將配置方式以及相關(guān)注意事項做簡

    2024年02月03日
    瀏覽(33)
  • nginx配置若依框架vue打包項目(同時支持http和https)

    該配置模版主要是若依框架前后端配置,若只是配置普通的vue項目,直接復制一下小模塊即可 ? #vue頁面訪問配置 ? ? ?location ?/ { ? ? ? ? ? ? ?root /www/wwwroot/www.xxx.com; ? ? ? ? ? ? # autoindex on; ? ? ? ? ? ? ?try_files $uri $uri/ /index.html; ? ? ? ? ? ? ?index ?index.html index.htm

    2024年01月25日
    瀏覽(20)
  • nginx實現(xiàn)https與http共存方案

    nginx實現(xiàn)https與http共存方案

    在日常開發(fā)中,到正式上線的時候大部分需要使用https來保證鏈路傳輸?shù)陌踩?,這塊相信大家都了解了,但有些特殊場景下可能需要http和https共存,并且端口都是同一個端口,只是協(xié)議不同,那這塊我們就借助nginx來配置了。 通過configure安裝共存需要的模塊stream、with-strea

    2024年02月10日
    瀏覽(19)
  • SpringBoot+Vue前后端分離項目+云服務器(nginx配置http/https)

    SpringBoot+Vue前后端分離項目+云服務器(nginx配置http/https)

    目錄 1.Java項目打包 2.前端項目打包 ok,項目準備好了,接下來就是服務器方面的操作了 3.服務器 1.點擊控制臺 2.找到 ECS云服務器 3.概覽-我的資源 ?4.重置服務器密碼 ?5.配置安全組 4.域名 1.買域名 2.備案? 3.解析至服務器 31.控制臺找到 ?3.2.域名列表 ,找到需要的域名,點擊解析?

    2024年02月09日
    瀏覽(19)
  • 【小沐學C++】libcurl實現(xiàn)HTTP/HTTPS請求

    【小沐學C++】libcurl實現(xiàn)HTTP/HTTPS請求

    https://github.com/curl/curl https://curl.se/libcurl/ https://curl.se/download.html libcurl 是一個免費且易于使用的客戶端 URL 傳輸 庫,支持DICT,F(xiàn)ILE,F(xiàn)TP,F(xiàn)TPS,GOPHER,GOPHERS,HTTP,HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POPP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB、SMBS、SMTP、SMTPS、TELNET 和 T

    2024年02月15日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包