【调试笔记-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…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
