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.mzph.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)作为…