Nginx — Nginx安裝證書模塊(配置HTTPS和TCPS)

一、安裝和編譯證書模塊

[root@master nginx]# wget https://nginx.org/download/nginx-1.25.3.tar.gz
[root@master nginx]# tar -zxvf nginx-1.25.3.tar.gz
[root@master nginx]# cd nginx-1.25.3
[root@master nginx]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module  --with-stream --with-stream_ssl_module
[root@master nginx]# make && make install#查看編譯是否成功
nginx -V

二、上傳證書到指定的路徑下

3.1、上傳證書到/usr/local/nginx/conf/ssl目錄下
#創建存放證書的路徑方便管理 
mkdir -p /usr/local/nginx/conf/ssl#上傳證書

3.2、查看證書的詳情
 openssl x509 -in /usr/local/nginx/conf/ssl/gateway.crt -text -noout

三、Nginx配置HTTPS和TCPS

(一)、HTTPS配置

4.1、HTTP配置
server {listen      8888;server_name  192.168.72.130;location / {root /opt/sumscope;}
}

4.2、HTTPS配置
#編輯server添加如下內容
server {listen      8888 ssl;ssl_certificate /usr/local/nginx/conf/ssl/gateway.crt;ssl_certificate_key /usr/local/nginx/conf/ssl/gateway.key;server_name  192.168.72.130;location / {root /opt/sumscope;}
}#執行reload
nginx -s reload

繼續以HTTP訪問出現400報錯

因為配置了HTTPS通過HTTP訪問就會報錯,要想解決HTTP訪問自動跳轉到HTTPS,需要將HTTP請求重定向到HTTPS。

400報錯原因:

當使用 Nginx 時遇到 400 錯誤(Bad Request),意味著客戶端發送的請求存在問題,Nginx 無法理解該請求。下面為你詳細分析可能的原因:

請求頭相關問題
  • 請求頭過長:如果客戶端發送的請求頭包含過多的信息,超過了 Nginx 配置中允許的最大請求頭長度,Nginx 就會返回 400 錯誤。可以通過調整?http?塊或?server?塊中的?large_client_header_buffers?指令來解決,示例如下:
http {large_client_header_buffers 4 8k;...
}

上述配置將最大請求頭緩沖區數量設置為 4,每個緩沖區大小為 8KB。

  • 請求頭格式錯誤:若請求頭的格式不符合 HTTP 協議規范,例如缺少必要的字段、字段值格式錯誤或包含非法字符等,Nginx 會拒絕該請求。比如,請求頭中的?Host?字段缺失或格式錯誤,就可能導致 400 錯誤。
  • 請求頭編碼問題:如果請求頭使用了不支持的字符編碼,Nginx 可能無法正確解析請求,從而返回 400 錯誤。
請求 URI 相關問題
  • URI 過長:當客戶端發送的請求 URI 長度超過 Nginx 配置中允許的最大值時,會觸發 400 錯誤。可以通過修改?http?塊或?server?塊中的?client_header_buffer_size?和?large_client_header_buffers?指令來調整最大 URI 長度。
  • URI 包含非法字符:請求 URI 中包含不允許的字符,如未經過正確編碼的特殊字符,可能會導致 Nginx 無法解析請求。例如,在 URI 中直接使用空格而未進行編碼,就會引發問題。
客戶端或代理問題
  • 客戶端軟件故障:某些客戶端軟件(如瀏覽器、爬蟲程序等)可能存在漏洞或配置錯誤,導致發送的請求不符合 HTTP 協議規范。例如,瀏覽器插件可能會修改請求頭,從而引發 400 錯誤。
  • 代理服務器配置錯誤:如果使用了代理服務器,代理服務器的配置錯誤可能會影響請求的正常轉發。例如,代理服務器可能會修改請求頭或 URI,導致請求在到達 Nginx 時出現問題。
其他問題
  • SSL/TLS 握手問題:在使用 HTTPS 協議時,SSL/TLS 握手過程中出現錯誤,如客戶端和服務器支持的 SSL/TLS 版本不兼容、加密算法不匹配等,可能會導致 Nginx 返回 400 錯誤。
  • 服務器過載:當服務器負載過高時,可能無法及時處理客戶端的請求,從而返回 400 錯誤。可以通過優化服務器配置、增加硬件資源或使用負載均衡器來解決。

4.3、配置將HTTP請求重定向到HTTPS
#HTTPS配置
server {listen      443 ssl;ssl_certificate /usr/local/nginx/conf/ssl/gateway.crt;ssl_certificate_key /usr/local/nginx/conf/ssl/gateway.key;server_name  192.168.72.130;location / {root /opt/sumscope;}
}#將HTTP請求重定向到HTTPS
server {listen 80;server_name 192.168.72.130;return 301 https://$server_name$request_uri;
}#執行reload
nginx -s reload

?

4.3.1、訪問測試

瀏覽器輸入:192.168.72.130?

跳轉到如下頁面

(二)、TCPS配置

分別配置沒有證書(TCP)和有證書(TCPS)場景

#負載均衡場景1:配置證書
stream{upstream gateway{#hash $remote_addr consistent;server 192.168.72.130:2000;server 192.168.72.131:2000 backup;}server {listen   444 ssl;proxy_pass gateway;ssl_certificate /usr/local/nginx/conf/ssl/gateway.crt;ssl_certificate_key /usr/local/nginx/conf/ssl/gateway.key;proxy_connect_timeout 10s;proxy_timeout 300s;}#負載均衡場景2:沒有配置證書upstream stctcp{server 192.168.72.130:2000;server 192.168.72.131:2000 backup;}server {listen 9092;proxy_connect_timeout 10s;proxy_timeout 300s;proxy_pass stctcp;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73958.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73958.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73958.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機網絡 用deepseek幫助整理的復習資料(一)

### 計算機網絡基礎知識整理 --- #### **一、網絡類型** 1. **局域網 (LAN)** - **定義**:覆蓋小范圍(如家庭、教室、公司)。 - **特點**:高帶寬、低延遲,設備通過交換機互聯。 - **示例**&#xff1…

Linux SCP傳輸文件免密配置

文章目錄 Linux SCP傳輸文件免密配置生成SSH密鑰對將公鑰復制到遠程服務器測試SSH連接使用SCP免密傳輸文件可選配置帶密碼的秘鑰連接處理使用 ssh-agent進行緩存管理(該方式只能確保同一個回話中,多次傳輸只輸一次密碼)使用 keychain&#xf…

數字電子技術基礎(三十六)——利用Multisim軟件實現3線-8線譯碼器

目錄 1 手動方式實現3線-8線譯碼器 2 使用字選擇器實現3線-8線譯碼器 現在嘗試利用Multisim軟件來實現3線-8線譯碼器。本實驗目的是驗證74LS138的基本功能,簡單來說就是“N中選1”。 實驗設計: (1)使能信號:時&am…

wait和notify : 避免線程餓死(以及votile內存可見性和指令重排序問題)

各位看官,大家早安午安晚安呀~~~ 如果您覺得這篇文章對您有幫助的話 歡迎您一鍵三連,小編盡全力做到更好 歡迎您分享給更多人哦 今天我們來學習:wait和notify : 避免線程餓死(以及votile內存可見性和指令重排序問題) …

HarmonyOS 介紹

HarmonyOS簡介 隨著萬物互聯時代的開啟,應用的設備底座將從幾十億手機擴展到數百億IoT設備。全新的全場景設備體驗,正深入改變消費者的使用習慣。 同時應用開發者也面臨設備底座從手機單設備到全場景多設備的轉變,全場景多設備的全新底座&am…

【視覺提示學習】3.28閱讀隨想

2109.01134 CoOp通過可學習的向量來建模提示的上下文詞匯,這些向量可以用隨機值或預訓練的詞嵌入進行初始化(見圖2)。我們提供了兩種實現方式,以處理不同性質的任務:一種是基于統一上下文(unified context…

計算機求職面試中高頻出現的經典題目分類整理

以下為計算機求職面試中高頻出現的經典題目分類整理,涵蓋技術核心與深度考察方向,答案要點已附解析思路: 一、數據結構與算法 鏈表操作 題目:反轉鏈表(迭代/遞歸實現)考察點:指針操作、遞歸思維…

uniapp選擇文件使用formData格式提交數據

1. Vue實現 在vue項目中,我們有個文件,和一些其他字段數據需要提交的時候,我們都是使用axios 設置請求頭中的Content-Type: multipart/form-data,然后new FormData的方式來進行提交。方式如下: const sendRequest = () => {const formData = new FormData()formData…

BeanDefinition和Beanfactory實現一個簡單的bean容器

目錄 什么是 Springbean 容器 設計思路 圖解 參考文章 開源地址 BeanDefinition 類 BeanFactory 類 測試類 什么是 Springbean 容器 Spring 包含并管理應用對象的配置和生命周期,在這個意義上它是一種用于承載對象的容器,你可以配置你的每個 Bea…

AI Agent開發大全第十四課-零售智能導購智能體的RAG開發理論部分

開篇 經過前面的一些課程,我們手上已經積累了各種LLM的API調用、向量庫的建立和使用、embedding算法的意義和基本使用。 這已經為我們具備了開發一個基本的問答類RAG的開發必需要素了。下面我們會來講一個基本問答類場景的RAG,零售中的“智能導購”場景。 智能導購 大家先…

向字符串添加空格

給你一個下標從 0 開始的字符串 s ,以及一個下標從 0 開始的整數數組 spaces 。 數組 spaces 描述原字符串中需要添加空格的下標。每個空格都應該插入到給定索引處的字符值 之前 。 例如,s "EnjoyYourCoffee" 且 spaces [5, 9] &#xff0…

百人會上的蔚小理與「來的剛剛好」的雷軍

這就是2025百人會上的蔚小理,努力的李斌、宣揚飛行汽車的何小鵬與大講開源的李想。那么小米汽車的模式是什么呢?站在蔚小理的肩上。 這就是2025百人會上的蔚小理,努力的李斌、宣揚飛行汽車的何小鵬與大講開源的李想。那么小米汽車的模式是什么…

解鎖Nginx路由器匹配規則

引言 Nginx 無疑是一款備受矚目的明星產品。它以其高性能、高可靠性以及出色的并發處理能力,在眾多 Web 服務器和反向代理服務器中脫穎而出 ,廣泛應用于各類網站和應用程序中。據統計,超過 30% 的網站都在使用 Nginx 作為其 Web 服務器&…

傳統策略梯度方法的弊端與PPO的改進:穩定性與樣本效率的提升

為什么傳統策略梯度方法(如REINFORCE算法)在訓練過程中存在不穩定性和樣本效率低下的問題 1. 傳統策略梯度方法的基本公式 傳統策略梯度方法的目標是最大化累積獎勵的期望值。具體來說,優化目標可以表示為: max ? θ J ( θ )…

Qwt入門

Qwt(Qt Widgets for Technical Applications)是一個用于科學、工程和技術應用的 Qt 控件庫,提供曲線圖、儀表盤、刻度尺等專業可視化組件。 1. 安裝與配置 1.1 安裝方式 源碼編譯(推薦): git clone https://github.com/qwt/qwt.git cd qwt qmake qwt.pro # 生成 Makef…

軟考《信息系統運行管理員》- 6.1 信息系統安全概述

信息系統安全的概念 信息系統安全是指保障計算機及其相關設備、設施(含網絡)的安全,運行環境的安全, 信息的安全,實現信息系統的正常運行。 信息系統安全包括實體安全、運行安全、信息安全和 人員安全等幾個部分。 影響信息系統安全的因素…

Canvas實現旋轉太極八卦圖

Canvas實現旋轉太極八卦圖 項目簡介 這是一個使用HTML5 Canvas技術實現的動態太極八卦圖,包含了旋轉動畫和鼠標交互功能。項目展示了中國傳統文化元素與現代Web技術的結合。 主要特點 動態旋轉的太極圖八卦符號的完整展示鼠標懸停暫停動畫流暢的動畫效果 技術實…

機器學習、深度學習和神經網絡

機器學習、深度學習和神經網絡 術語及相關概念 在深入了解人工智能(AI)的工作原理以及它的各種應用之前,讓我們先區分一下與AI密切相關的一些術語和概念:人工智能、機器學習、深度學習和神經網絡。這些術語有時會被交替使用&#…

打造高性能中文RAG系統:多輪對話與語義檢索的完美結合

目錄 1、引言 2、RAG系統的核心架構 3、對話理解:超越單輪問答 3.1、指代消解技術 3.2、話題跟蹤與記憶 4、混合檢索策略:兼顧精確與廣泛 4.1、向量檢索 關鍵詞檢索 4.2、重排序機制 5、性能優化:應對大規模文檔 5.1、向量量化技術…

人工智能助力數字化轉型:生成式人工智能(GAI)認證開啟新篇章

在數字化浪潮席卷全球的今天,企業正面臨著前所未有的轉型壓力與機遇。數字化轉型,這一曾經被視為“選擇題”的戰略議題,如今已演變為關乎企業生存與發展的“必答題”。在這場深刻的變革中,人工智能(AI)作為…