【调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站】
调试笔记-系列文章目录
调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站
文章目录
- 调试笔记-系列文章目录
- 调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站
- 前言
- 一、调试环境
- 操作系统:OpenWrt 23.05.3
- 调试环境
- 调试目标
- 二、调试步骤
- 安装 nginx Web 服务器
- 创建 www.tanghui.fun 网站
- 创建 www.tanghui.fun.locations 配置文件
- 在 LuCI 上设定网站 SSL 证书
- 生成 SSL 证书
- 配置 HTTPS 服务
- 重启 nginx 服务,测试 HTTPS
- 补充信息
- 三、应用场景
- 构建 HTTPS 服务器
- 网站开发测试环境
- 四、参考资料
- 总结
前言
本文记录在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站的步骤。
实验使用的电脑如下:
CPU:
Intel Core Processor (Broadwell, no TSX, IBRS)
操作系统:
OpenWrt 23.05.3 r23809-234f1a2efa
一、调试环境
操作系统:OpenWrt 23.05.3
调试环境
- 云主机,已安装 OpenWrt
参考【安装笔记-20240528-Linux-在 Vultr 云服务器上安装测试 OpenWRT】
调试目标
- 配置好 HTTPS 网站,并且使用公共签名 SSL 证书,浏览器访问网站时无安全警告。
二、调试步骤
安装 nginx Web 服务器
opkg update
opkg install nginx-full
创建 www.tanghui.fun 网站
uci add nginx server
uci rename nginx.@server[-1]=www_tanghui_fun
uci add_list nginx.www_tanghui_fun.listen='80'
uci add_list nginx.www_tanghui_fun.listen='[::]:80'
uci set nginx.www_tanghui_fun.server_name='www.tanghui.fun'
uci set nginx.www_tanghui_fun.client_header_timeout='10s'
uci add_list nginx.www_tanghui_fun.include='conf.d/www.tanghui.fun.locations'
uci commit nginx
创建 www.tanghui.fun.locations 配置文件
/etc/nginx/conf.d/www.tanghui.fun.locations
location / {root /www/root/www.tanghui.fun;index index.html;
}
在 LuCI 上设定网站 SSL 证书
1、登录 LuCI 控制页面,选择 “Services” -> “ACME certs”

2、输入配置名称后,选择 “Add”,进入配置的编辑页面



3、配置完成后,通过命令行控制台查看,是否建立新的 SSL 密钥生成目录

生成 SSL 证书
1、在命令行控制台执行以下命令:
service acme restart

出现以上画面,表示 SSL 证书生成成功,输入以下命令验证:
ls -lia /etc/acme/www.tanghui.fun/ls -lia /etc/ssl/acme/

配置 HTTPS 服务
1、配置 nginx 服务器,开启 SSL 连接
uci add_list nginx.www_tanghui_fun.listen='443 ssl'
uci add_list nginx.www_tanghui_fun.listen='[::]:443 ssl'
uci set nginx.www_tanghui_fun.ssl_certificate='/etc/nginx/conf.d/www.tanghui.fun.crt'
uci set nginx.www_tanghui_fun.ssl_certificate_key='/etc/nginx/conf.d/www.tanghui.fun.key'
uci set nginx.www_tanghui_fun.ssl_session_cache='shared:SSL:32k'
uci set nginx.www_tanghui_fun.ssl_session_timeout='64m'
uci commit nginx
2、建立 HTTPS 服务的证书文件的软连接
ln -sf /etc/ssl/acme/www.tanghui.fun.key /etc/nginx/conf.d/www.tanghui.fun.key
ln -sf /etc/ssl/acme/www.tanghui.fun.fullchain.crt /etc/nginx/conf.d/www.tanghui.fun.crt
ln -sf /etc/ssl/acme/www.tanghui.fun.fullchain.crt /etc/nginx/conf.d/www.tanghui.fun.ca.crt
重启 nginx 服务,测试 HTTPS
1、重启 nginx 服务,输入以下命令:
service nginx restart
2、在 Windows 主机浏览器中输入以下网址:
https://[服务器域名]/
补充信息
1、如果没有设置 Webroot 路径,默认 acme.sh 在 /var/run/acme/challenge/ 中创建验证信息,可以在当前服务器根目录中建立符号连接,完成验证。执行以下命令:
mkdir -p /www/root/www.tanghui.fun/.well-known
mkdir -p /var/run/acme/challenge/.well-known/acme-challenge
ln -sf /var/run/acme/challenge/.well-known/acme-challenge /www/root/www.tanghui.fun/.well-known/acme-challenge
再运行 acme 服务,执行以下命令:
service acme restart
三、应用场景
构建 HTTPS 服务器
网站开发测试环境
四、参考资料
1、Get a free HTTPS certificate from LetsEncrypt for OpenWrt with ACME.sh
2、acme.sh 中文说明
总结
本文介绍了在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站的步骤,并给出了解决所遇问题的方法。
相关文章:
【调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站】
调试笔记-系列文章目录 调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站 文章目录 调试笔记-系列文章目录调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站 前言一、调试环境操作系统:OpenWrt 23.05.3调试环境调试目标…...
安装 hbase(伪分布式)
目录 1、安装 jdk8 (1)选择 jdk 版本 (2)下载 jdk 并解压 (3)配置环境变量 2、安装hadoop (1)添加 hadoop 用户,配置免密登录 (2)下载 hado…...
Angular-数组循环
简单数组 .ts-定义一个数组 // 第一种定义方式 public arr1:string[] [aa,bb,cc]; // 完整版 arr2:string[] [aa,bb,cc]; // 省略版 public objects:any[] [{username:Echoo,age:18},{username:Amily,age:39},{username:Mike,age:34}]; // 元素是对象 //第二种定…...
初级网络工程师之入门到入狱(一)
本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 网络工程师从入门到入狱 前言一、交换机二、路由器三、DHCP(动态主机配置协议)四、路由器配置 DHCP自…...
数据挖掘与机器学习——分类算法
目录 机器学习算法最普通分类: 分类算法的定义: 分类算法的应用: 分类器实现分类: 分类器的构建标准: 概率模型: 贝叶斯公式: 朴素贝叶斯算法(朴素贝叶斯分类器)…...
变压器励磁涌流MATLAB仿真模型
微❤关注“电气仔推送”获得资料(专享优惠) 变压器励磁涌流的产生机理 1、变压器是电力系统的关键部分,在实际的 运行中,变压器需要进行相应的充电,而在充电的过 程中,就需要进行开合闸作业。在开合闸作业…...
ToxVidLLM:一个用于检测有害视频的多模态多任务框架
在一个社交媒体平台赋予用户成为内容创作者力量的时代,数字领域见证了前所未有的信息传播激增,到2023年,近82%的互联网流量是视频内容。因此,像抖音和YouTub这样的平台已经成为主要的信息来源。一个显著的统计数据凸显了这些平台的…...
比较(二)利用python绘制雷达图
比较(二)利用python绘制雷达图 雷达图(Radar Chart)简介 雷达图可以用来比较多个定量变量,也可以用于查看数据集中变量的得分高低,是显示性能表现的理想之选。缺点是变量过多容易造成阅读困难。 快速绘制…...
Visual Studio怎么用?
Visual Studio的使用涉及多个方面,以下是一个清晰的使用指南,涵盖了Visual Studio的基本功能、安装、界面介绍、项目创建、代码编写、调试和发布等关键步骤: 一、Visual Studio简介 Visual Studio是由微软公司开发的一款集成开发环境&#…...
Python工程中,__init__.py文件有什么用
在Python工程中,__init__.py 文件有几个重要的用途: 标识目录为包: 在Python 3.3之前,__init__.py 文件的存在是为了告诉解释器,该目录是一个Python包。这使得包中的模块可以被导入和使用。即使在Python 3.3之后可以没…...
YOLOv10环境搭建推理测试
引子 两个多月前YOLOv9发布(感兴趣的童鞋可以移步YOLOv9环境搭建&推理测试_yolov9安装-CSDN博客),这才过去这么短的时间,YOLOv10就横空出世了。现在YOLO系列搞得就和追剧一样了。。。OK,那就让我们开始吧。 一、…...
tomcat-memcached会话共享配置
目录 1、安装memcache服务 2、把依赖的jar包移至tomcat/lib目录下 3、配置tomcat/conf/context.xml 4、重启tomcat服务 1、安装memcache服务 具体安装步骤此处不详细说明,自行根据实际情况安装即可 2、把依赖的jar包移至tomcat/lib目录下 3、配置tomcat/conf/c…...
404错误页面源码,简单实用的html错误页面模板
源码描述 小编精心准备一款404错误页面源码,简单实用的html错误页面模板,简单大气的页面布局,可以使用到不同的网站中,相信大家一定会喜欢的 效果预览 源码下载 https://www.qqmu.com/3375.html...
AI程序员来了,大批码农要失业
根据GitHub发布的《Octoverse 2021年度报告》,2021年中国有755万程序员,排名全球第二。 ChatGPT的出现,堪比在全球互联网行业点燃了一枚“核弹”,很多人都会担心“自己的工作会不会被AI取代”。 而2024年的AI进展速度如火箭般&am…...
车联网安全入门——CAN总线模糊测试
文章目录 车联网安全入门——CAN总线模糊测试介绍主要特点使用场景 模糊测试(Fuzz Testing)CAN 总线模糊测试(CAN Packet Fuzzing)主要步骤工具和软件主要目标 Can-Hax安装使用获得指纹模糊测试 SavvyCAN 总结参考 车联网安全入门…...
JDBC常见异常(10)—预编译模式下占位符动态排序字段失效
场景需求 需要根据不同的列进行对应的排序操作,实现动态列名排序 类似🐟动态查询或更新 但是JDBC预编译模式下占位符的排序字段失效 SQL语句 分页查询 select * from (select t.*, rownum rn from(select * from emp order by empno desc) t where …...
爬虫入门教程:爬虫概述
在数字化时代,数据已经成为我们生活和工作中不可或缺的一部分。而如何高效、准确地获取这些数据,成为了许多领域面临的共同问题。今天,我们就来一起探讨一下爬虫技术,这个能够自动从互联网上抓取信息的神奇工具。 一、什么是爬虫…...
【工具】windows下VMware17解锁mac安装选项(使用unlocker427)
目录 0.简介 1.环境 2.安装前后对比 3.详细安装过程 3.1 下载unlocker427 1)下载地址 2)下载unlocker427.zip 3)解压之后是这样的 4)复制iso中的两个文件到你本地的VMware的安装目录下 5)复制windows下的所有…...
JS 自测题 —— 手写 class
现有三种菜单:button 类型,select 类型,modal 类型。 共同特点 title icon 属性isDisabled 方法(可直接返回 false)exec 方法,执行菜单的逻辑 不同 button 类型,执行 exec 时打印 helloselect …...
Keras深度学习框架实战(7):使用YOLOV8和KerasCV进行高效的图像物体识别
1、绪论 1.1 KerasCV简介 KerasCV是一个专注于计算机视觉任务的模块化组件库,基于Keras构建,可与TensorFlow、JAX或PyTorch等框架配合使用。 概念与定位: KerasCV是Keras API的水平扩展,提供了一系列新的第一方Keras对象&#x…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
