亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟

 更新時(shí)間:2024年08月16日 15:17:59   作者:墨鴉_Cormorant  
這篇文章主要介紹了使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)指南的相關(guān)操作,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

簡(jiǎn)介

正向代理 簡(jiǎn)介

在企業(yè)開發(fā)環(huán)境中,局域網(wǎng)內(nèi)的設(shè)備通常需要通過(guò)正向代理服務(wù)器訪問(wèn)互聯(lián)網(wǎng)。正向代理服務(wù)器充當(dāng)中介,幫助客戶端請(qǐng)求外部資源并返回結(jié)果。局域網(wǎng)內(nèi)也就是俗稱的內(nèi)網(wǎng),局域網(wǎng)外的互聯(lián)網(wǎng)就是外網(wǎng),在一些特殊場(chǎng)景內(nèi),例如:醫(yī)院。而局域網(wǎng)中的客戶端要訪問(wèn)這些資源時(shí),就需要通過(guò)代理服務(wù)器。這種通過(guò)代理服務(wù)器訪問(wèn)外部網(wǎng)絡(luò)資源的方式,就是正向代理。正向代理不僅用于提升訪問(wèn)速度,還能提高網(wǎng)絡(luò)安全性、管理訪問(wèn)權(quán)限和優(yōu)化網(wǎng)絡(luò)流量。

原生 nginx 可以作為 http 的正向代理服務(wù)器,但是不能用做 https 的正向代理服務(wù)器。因?yàn)?http 正向代理使用的是 get 請(qǐng)求,但是 https 使用的確實(shí) connect 請(qǐng)求,而原生 nginx 不支持 connect 請(qǐng)求。所以需要第三方模塊 ngx_http_proxy_connect_module 來(lái)支持 https 的正向代理,使用這個(gè)插件,意味著需要重新編譯 nginx,在編譯的過(guò)程中,將插件添加進(jìn)去。本次編譯以目前穩(wěn)定版 1.24.0 為例。

ngx_http_proxy_connect_module 介紹

  • ngx_http_proxy_connect_module 項(xiàng)目地址:傳送門(注:目標(biāo)地址為 github,打不開則請(qǐng)科學(xué)上網(wǎng))
  • ngx_http_proxy_connect_module 是 Nginx 的一個(gè)擴(kuò)展模塊,主要功能是允許 Nginx 作為代理服務(wù)器處理 CONNECT 方法。通過(guò)該模塊,可以將 Nginx 作為 HTTP/HTTPS 代理服務(wù)器,甚至可以直接用作 WebSocket 服務(wù)器。

注:在 HTTP 協(xié)議中,CONNECT 方法主要用于建立隧道(即建立到遠(yuǎn)程服務(wù)器的端到端的加密連接),通常在代理服務(wù)器后面的客戶端需要通過(guò)代理服務(wù)器與目標(biāo)服務(wù)器建立安全連接,比如 WebSocket 連接和 HTTPS 的中間人代理。

詳細(xì)步驟

包準(zhǔn)備

從 nginx 官網(wǎng)下載 nginx 源碼包

注:也可以直接在 Linux 主機(jī)上下載:

wget http://nginx.org/download/nginx-1.24.0.tar.gz

從 github 下載 ngx_http_proxy_connect_module 源碼

從 github 下載 ngx_http_proxy_connect_module 模塊的 nginx 內(nèi)核補(bǔ)丁

注:

  • 請(qǐng)嚴(yán)格按照下圖安裝和 nginx 版本匹配的 nginx 內(nèi)核補(bǔ)丁,否則會(huì)導(dǎo)致 https 代理不生效。
  • ngx_http_proxy_connect_module 源碼壓縮包內(nèi)(ngx_http_proxy_connect_module-master/patch/)可能已包含 nginx 內(nèi)核補(bǔ)丁,這種情況確認(rèn)即可,無(wú)需再下載補(bǔ)丁。

Linux 編譯并安裝 nginx

# 使用yum包管理工具安裝相關(guān)編譯環(huán)境及相關(guān)依賴
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel openssl-libs pcre2
# 或使用dnf包管理工具安裝
#dnf -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 將安裝包放于/root目錄,可自定義
cd /root
# 上傳nginx安裝包并解壓
tar -zxvf nginx-1.24.0.tar.gz
# 進(jìn)入nginx安裝包解壓目錄并創(chuàng)建modules源碼包存放目錄
cd nginx-1.24.0
mkdir ./modules && cd ./modules
# 上傳 ngx_http_proxy_connect_module 源碼包并解壓
unzip ngx_http_proxy_connect_module-master.zip
# 進(jìn)入nginx安裝包解壓目錄根路徑
cd /root/nginx-1.24.0
# 對(duì)nginx內(nèi)核打補(bǔ)丁
patch -p1 < modules/ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_102101.patch
# 配置編譯參數(shù)編譯前確認(rèn)pcre、zlib、openssl的庫(kù)是否已經(jīng)正常安裝
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-stream \
--with-stream_ssl_module \
--add-module=/root/nginx-1.24.0/modules/ngx_http_proxy_connect_module-master
	# --prefix :指定需要安裝的目錄,可自定義
	# --add-module :ngx_http_proxy_connect_module-master模塊源碼路徑,根據(jù)實(shí)際路徑修改
# 編譯并安裝nginx
make && make install

修改 nginx 配置文件

編輯配置文件

vi /usr/local/nginx/conf/nginx.conf

增加如下配置:

    server {
        # 對(duì)外服務(wù)端口
        listen 80;
        server_name  localhost;
        # 域名解析服務(wù)器并禁用ipv6
    	# 注:若不禁用ipv6,會(huì)由于當(dāng)前互聯(lián)網(wǎng)對(duì)IPv6支持不完整,導(dǎo)致在DNS解析時(shí)偶發(fā)超時(shí)問(wèn)題(502)
        resolver 114.114.114.114 valid=60s ipv6=off;
        # 解析超時(shí)時(shí)間
        resolver_timeout 30s;
        # 開啟porxy connect功能(代理)
        proxy_connect;
        # 設(shè)置允許代理的目標(biāo)端口和范圍的列表
        proxy_connect_allow            80 443 563;
        # 定義客戶端與代理服務(wù)器建立連接的超時(shí)時(shí)間
        proxy_connect_connect_timeout  20s;
        # 定義客戶端從代理服務(wù)器讀取響應(yīng)的超時(shí)時(shí)間
        proxy_connect_read_timeout     20s;
        # 設(shè)置客戶端將請(qǐng)求傳輸?shù)酱矸?wù)器的超時(shí)時(shí)間
        proxy_connect_send_timeout     20s;
        location / {
            # 正向代理配置,根據(jù)請(qǐng)求地址自動(dòng)解析出目標(biāo)網(wǎng)站地址并進(jìn)行代理
            proxy_pass $scheme://$host$request_uri;
            # 發(fā)送到被代理網(wǎng)站的請(qǐng)求需要添加Host請(qǐng)求頭
            proxy_set_header Host $host;
        }
    }

nginx 啟動(dòng)與測(cè)試

啟動(dòng)

# 啟動(dòng)nginx
/usr/local/nginx/sbin/nginx
# 重新加載nginx配置
/usr/local/nginx/sbin/nginx -s reload
# 停止nginx
/usr/local/nginx/sbin/nginx -s stop

測(cè)試 nginx 代理功能了

curl https://www.baidu.com -v -x 127.0.0.1:80

拓展

設(shè)置 nginx 開機(jī)自啟動(dòng)

創(chuàng)建開機(jī)自啟腳本

vim /etc/systemd/system/nginx.service

腳本內(nèi)容:

# 僅修改 /usr/local/nginx/sbin/nginx 這個(gè)路徑即可(修改為實(shí)際的nginx路徑)
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target

設(shè)置文件權(quán)限

chmod 755 /etc/systemd/system/nginx.service

設(shè)置開機(jī)自啟動(dòng)

systemctl daemon-reload
systemctl enable nginx

驗(yàn)證

# nginx啟動(dòng)
systemctl start nginx 
# nginx停止
systemctl stop nginx 
# 直接重啟服務(wù)器即可(nginx就自動(dòng)重啟了)
reboot

常用命令

# 啟動(dòng)nginx服務(wù)
systemctl start nginx
# 重新啟動(dòng)nginx服務(wù)
systemctl restart nginx
# 查看nginx服務(wù)當(dāng)前狀態(tài)
systemctl status nginx
# 停止開機(jī)自啟動(dòng)
systemctl disable nginx

到此這篇關(guān)于使用 nginx 搭建代理服務(wù)器(正向代理 https 網(wǎng)站)指南的文章就介紹到這了,更多相關(guān)nginx 搭建代理服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx+CI框架出現(xiàn)404錯(cuò)誤怎么解決

    Nginx+CI框架出現(xiàn)404錯(cuò)誤怎么解決

    這篇文章主要介紹了Nginx+CI出現(xiàn)404錯(cuò)誤怎么解決的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Nginx配置請(qǐng)求頭攜帶原始請(qǐng)求信息的實(shí)現(xiàn)

    Nginx配置請(qǐng)求頭攜帶原始請(qǐng)求信息的實(shí)現(xiàn)

    本文主要介紹了Nginx配置請(qǐng)求頭攜帶原始請(qǐng)求信息的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • 使用Nginx代理解決跨域問(wèn)題并傳遞請(qǐng)求頭的完整指南

    使用Nginx代理解決跨域問(wèn)題并傳遞請(qǐng)求頭的完整指南

    在現(xiàn)代 Web 開發(fā)中,跨域資源共享(CORS)是一個(gè)常見(jiàn)的問(wèn)題,當(dāng)你的前端應(yīng)用嘗試從一個(gè)域名請(qǐng)求另一個(gè)域名的資源時(shí),瀏覽器會(huì)阻止這種請(qǐng)求,除非目標(biāo)服務(wù)器明確允許跨域訪問(wèn),本文將詳細(xì)介紹如何使用 Nginx 作為代理服務(wù)器來(lái)解決跨域問(wèn)題,需要的朋友可以參考下
    2025-01-01
  • Ubuntu下nginx編譯安裝參數(shù)配置

    Ubuntu下nginx編譯安裝參數(shù)配置

    這篇文章主要介紹了Ubuntu下nginx編譯安裝參數(shù)配置,本文總結(jié)了一些依賴庫(kù)的安裝以及編碼配置參數(shù),需要的朋友可以參考下
    2015-06-06
  • Nginx 服務(wù)器開啟status頁(yè)面檢測(cè)服務(wù)狀態(tài)的方法

    Nginx 服務(wù)器開啟status頁(yè)面檢測(cè)服務(wù)狀態(tài)的方法

    這篇文章主要介紹了Nginx 服務(wù)器開啟status頁(yè)面檢測(cè)服務(wù)狀態(tài)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • Nginx?ingress?controller高可用的實(shí)現(xiàn)

    Nginx?ingress?controller高可用的實(shí)現(xiàn)

    本文主要介紹了Nginx?ingress?controller高可用的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • 配置Nginx實(shí)現(xiàn)訪問(wèn)本地靜態(tài)資源的完整指南

    配置Nginx實(shí)現(xiàn)訪問(wèn)本地靜態(tài)資源的完整指南

    Nginx 是一個(gè)高性能的 HTTP 服務(wù)器和反向代理服務(wù)器,廣泛用于靜態(tài)資源的托管和負(fù)載均衡,在開發(fā)和生產(chǎn)環(huán)境中,我們常常需要使用 Nginx 來(lái)提供本地靜態(tài)資源的訪問(wèn),本文將詳細(xì)介紹如何配置 Nginx 以便訪問(wèn)本地靜態(tài)資源,需要的朋友可以參考下
    2024-08-08
  • SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過(guò)程

    SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過(guò)程

    Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,這篇文章主要介紹了SpringBoot前端后端分離之Nginx服務(wù)器,需要的朋友可以參考下
    2022-08-08
  • nginx信號(hào)集案例詳解

    nginx信號(hào)集案例詳解

    本篇內(nèi)容給大家詳細(xì)分析一下nginx信號(hào)集相關(guān)知識(shí)以及實(shí)例中的問(wèn)題分析,一起學(xué)習(xí)參考下。
    2017-11-11
  • 深入理解Nginx的proxy_cache模塊

    深入理解Nginx的proxy_cache模塊

    Nginx的proxy_cache模塊提供了強(qiáng)大而靈活的緩存功能,本文主要介紹了深入理解Nginx的proxy_cache模塊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08

最新評(píng)論