【调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站】

news2024/11/18 21:36:29

调试笔记-系列文章目录

调试笔记-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 配置文件
    • 在 Vultr 上选购云服务器
    • 运行测试
    • 配置上网功能
      • 配置 LuCI 管理界面
  • 三、应用场景
    • 构建小型 Linux 服务器
    • 网站开发测试环境
  • 四、参考资料
  • 总结


前言

本文记录在 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 配置文件

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

在 Vultr 上选购云服务器

1、选择云服务器类型

在这里插入图片描述

2、选安装用的光盘镜像,以及购买的套餐

在这里插入图片描述

3、去掉不需要的增值服务

在这里插入图片描述

运行测试

1、启动服务器,并连接服务器的控制台界面

在这里插入图片描述

2、在控制台界面选择光盘启动

在这里插入图片描述

3、进入光盘系统后,下载 OpenWrt 的磁盘镜像文件并复制到服务器硬盘中。执行以下命令:

wget http://tanghui.fun/op.img.gz
gunzip op.img.gz
dd if=op.img of=/dev/vda

在这里插入图片描述

4、查看服务器硬盘分区信息,并调整分区大小,执行以下命令:

parted /dev/vda print
parted /dev/vda resizepart 2 100%
parted /dev/vda print

在这里插入图片描述

5、卸载光盘镜像,让服务器从硬盘启动

在这里插入图片描述

6、服务器重启后,进入 OpenWrt 登录界面

在这里插入图片描述

配置上网功能

1、配置 OpenWrt 主机为客户设备模式,并开启 DHCP-client 功能

在 OpenWrt 主机终端输入以下命令:

uci set network.lan.proto="dhcp"
uci commit network
service network restart

然后,输入以下命令检查 OpenWrt 主机是否正确获取到网络 DHCP 服务器分配的 IP 地址

ip addr

2、设置 root 用户登录密码,输入以下命令:

passwd

3、从 Windows 主机通过 SSH 远程连接 OpenWrt 访客主机

在这里插入图片描述

4、测试网络联通性

在 PuTTY 窗口输入以下命令:

ping www.baidu.com

在这里插入图片描述

上图可见,OpenWrt 访客主机能访问到 www.baidu.com ,网络通畅。

配置 LuCI 管理界面

5、在 Windows 主机浏览器中输入以下网址:

https://[服务器 IP]/

输入 root 密码,登入 LuCI 管理界面如下:

在这里插入图片描述

注意到磁盘空间仍然只有100M,我们需要重新调整 EXT4 分区的大小,在服务控制台执行以下命令:

opkg update
opkg install lsblk
opkg install losetup
opkg install resize2fs

losetup /dev/loop1 /dev/vda2
resize2fs -f /dev/loop1

确认是否修改成功,执行以下命令:

df -h

在这里插入图片描述


三、应用场景

构建小型 Linux 服务器

网站开发测试环境


四、参考资料

1、Get a free HTTPS certificate from LetsEncrypt for OpenWrt with ACME.sh

2、acme.sh 中文说明


总结

本文介绍了在 Vultr 云主机上安装运行 OpenWRT 的步骤,并给出了解决所遇问题的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1720917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MVC、MVP 和 MVVM 架构总结

MVC、MVP 和 MVVM 是常见的软件架构模式,主要用于组织应用程序的结构,特别是在用户界面和业务逻辑之间进行分离。以下是对它们的详细解释,包括它们的差异、优缺点。 MVC(Model-View-Controller) 结构 Model&#xf…

更新mirh connect 内置derby数据库密码

更新mirh connect 内置derby数据库密码 1、下载derby连接客户端 https://archive.apache.org/dist/db/derby/ 选择任意版本即可,比如 https://archive.apache.org/dist/db/derby/db-derby-10.14.2.0/db-derby-10.14.2.0-bin.zip 2、连接mirh文件数据库 1、把mi…

详解Spring IoCDI(二)

目录 承接上文:详解Spring IoC&DI (一) 1.IoC详解 1.1方法注解Bean 1.2方法注解要配合类注解使用 1.3定义多个对象 1.4重命名Bean 1.5扫描路径 2.DI详解 2.1DI与IoC的关系 2.2属性注入 2.3构造方法注入 2.4Setter注入 2.5 三…

kettle 使用动态变量名定义变量

name是变量,value 值也是变量 我需要把name作为变量名,value作为变量值; 在kettle中,使用javascript脚本 key与lastVsxzl都是变量 //Script here setVariable(key,lastVsxzl,r);var rgetVariable(key,r); Demo 1、从记事本里面…

香橙派 AIpro上手体验并验证车道线识别算法

香橙派 AIpro上手体验并验证车道线识别算法 1.前言 最近入手了一块香橙派AIpro,体验了一下,感觉还不错,在这里分享给大家,大家可以做个参考。 2.开箱 整套产品包含一块主板、一个电源插头和一条双端Type-C的数据线,…

【会议征稿】2024年无人驾驶与智能传感技术国际学术会议(ADIST 2024)

2024年无人驾驶与智能传感技术国际学术会议(ADIST 2024)将于2024年6月28-30日在珠海召开。ADIST 2024旨在搭建学术资源共享平台,加强中外学术合作,促进自动驾驶和智能传感技术的发展,促进全球研究人员、开发人员、工程…

LTspice仿真中设置电阻随时间变化的方法

背景: 笔者找了很多资料都没有看到如何设置电阻、电容等参数随时间变化。但在实际模拟中,总会遇到需要模拟这些量的变化。故撰写此文,供大家参考。 除了模拟随时间变化外,同样的思路也可以模拟随其他变量变化 效果展示 设置电…

【网络研究观】-20240531

战争揭开美国武器优势的面纱 随着俄军在哈尔科夫地区稳步推进,乌克兰战争对美国国防机器而言是一场灾难,这一点越来越明显,这不仅是因为我们的援助未能挽救乌克兰的撤退和可能的失败。更重要的是,这场战争无情地暴露了我们国防体…

内网不能访问域名怎么办?

在网络应用中,我们常常遇到内网不能访问域名的问题。这是由于内网环境限制导致的,内网无法直接连接到公网,因而无法访问互联网上的域名。我们可以利用一些特殊技术和工具来解决这个问题。 天联组网技术的应用 天联组网是一种非常受欢迎的解决…

JS数组怎么去重?| JavaScript中数组去重的14种方法

目录 一、利用for循环嵌套去重 二、利用splice() for循环嵌套(ES5中最常用) 三、利用indexOf() for循环去重 四、利用sort() for循环去重 五、利用includes() for循环去重(ES7) 六、利用Object键值对及其hasOwnProperty…

在phpstorm2024版里如何使用Jetbrains ai assistant 插件 ?

ai assistant激活成功后,如图 ai assistant渠道:https://web.52shizhan.cn/activity/ai-assistant 在去年五月份的 Google I/O 2023 上,Google 为 Android Studio 推出了 Studio Bot 功能,使用了谷歌编码基础模型 Codey,Codey 是…

解锁 JavaScript ES6:函数与对象的高级扩展功能

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! ES5、ES6介绍 文章目录 ES6函数扩展1 默认参数1.1 之前写法1.2 ES6 写法1.3 注意点 2 …

python实现——综合类型数据挖掘任务(无监督的分类任务)

综合类型数据挖掘任务 航空公司客户价值分析。航空公司客户价值分析。航空公司客户价值分析。航空公司已积累了大量的会员档案信息和其乘坐航班记录(air_data.csv),以2014年3月31日为结束时间抽取两年内有乘机记录的所有客户的详细数据。利用…

python多种方式 保留小数点位数(附Demo)

目录 前言1. 字符串格式2. round函数3. Decimal模块4. numpy库5. Demo 前言 在Python中,保留小数点后特定位数可以通过多种方式实现 以下是几种常见的方法,并附上相应的代码示例: 使用字符串格式化(String Formatting&#xff…

Go 1.23新特性前瞻

2024年5月22日,Go 1.23版本[1]功能特性正式冻结,后续将只改bug,不增加新feature。 对Go团队来说,这意味着开始了Go 1.23rc1的冲刺,对我们普通Gopher而言,这意味着是时候对Go 1.23新增的功能做一些前瞻了&am…

ad18学习笔记20:焊盘设置Solder Mask Expansion(阻焊层延伸)

【AD18新手入门】从零开始制造自己的PCB_ad18教程-CSDN博客 Altium Designer绘制焊盘孔(Pad孔)封装库的技巧,包括原理图封装和PCB封装_哔哩哔哩_bilibili 默认的焊盘中间是有个过孔的,单层焊盘(表贴烛盘)…

ARM学习(28)NXP 双coreMCU IMX1160学习

笔者最近接触到一块IMXRT1160的双core板子,特依次来记录学习一下 1、IMXRT1160 板子介绍 介绍一下NXP的Demo板子,是一个双core的板子,Cortexm7和Cortexm4,总计1MB的RAM空间,256KB的ROM空间,提供了丰富的内…

【GD32】05 - PWM 脉冲宽度调制

PWM PWM (Pulse Width Modulation) 是一种模拟信号电平的方法,它通过使用数字信号(通常是方波)来近似地表示模拟信号。在PWM中,信号的占空比(即高电平时间占整个周期的比例)被用来控制平均输出电压或电流。…

IDEA一键启动多个微服务

我们在做微服务项目开发的时候,每次刚打开IDEA,就需要把各个服务一个个依次启动,特别是服务比较多时,逐个点击不仅麻烦还费时。下面来说一下如何一键启动多个微服务。 操作步骤 点击Edit Configurations 2.点击“”,…

BSD盲区检测系统性能要求及试验方法

相关术语 盲区检测(bsd,blind spot detection)试验车辆(subject vehicle)目标车辆(target vehicle)横向距离(lateral distance):试验车车身最外缘(不包含外后视镜)与目标车辆车身最外缘(不包含外后视镜)之间的横向距离。 纵向距离(longitudinal distance):试验…