【调试笔记-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 配置文件
    • 在 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 的步骤,并给出了解决所遇问题的方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CS61C | lecture2

# CS61C | lecture2 C 语言是一种编译语言。C 编译器将 C 程序映射到特定与体系结构的机器代码(实际上是一串 0 和 1)。 而 Java 会通过 JVM(Java 虚拟机) 将代码转换为独立于架构的字节码。 Python 则会直接解释代码。C 不会直接解释代码,而是将其编译成机器代码之…

计算机基础学习路线

计算机基础学习路线 整理自学计算机基础的过程,虽学习内容众多,然始终相信世上无难事,只怕有心人,期间也遇到许多志同道合的同学,现在也分享自己的学习过程来帮助有需要的。 一、数据结构与算法 视频方面我看的是青…

Bean作用域和生产周期已经Bean的线程安全问题

bean 的作用域 单例(Singletion) : Spring 容器中只有一个 bean ,这个 bean 在整个应用程序内共享。 原话(Prototype) : 每次 getBean(), 都是不同的bean,都会创建一个实例。 请求(Request):每个HTTP请求都会创建一个新的 Bean …

ARM虚拟机安装OMV

OMV(OpenMediaVault)是基于 Debian GNU/Linux 的网络连接存储(network attached storage,NAS)解决方案。它包含 SSH、(S) FTP、SMB/CIFS、DAAP 媒体服务器、rsync、 BitTorrent 等很多种服务。它可用于 x86-64 和 ARM 平台。 在x86-64平台上&…

推荐一款开源电子签章/电子合同系统

文章目录 前言一、项目介绍二、项目地址三、技术架构四、代码结构介绍五、功能模块六、功能界面首页面手写签名面板电子印章制作数字证书生成 总结 前言 大家好!我是智航云科技,今天为大家分享一个免费开源的电子签字系统。 一、项目介绍 开放签电子签…

【Python】如何使用 Python 自动发送每日电子邮件报告

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

详解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 三…

【Endnote】如何在word界面加载Endnote

如何在word界面加载Endnote 方法1:方法2:从word入手方法3:从CWYW入手参考 已下载EndNote,但Word中没有显示EndNote,应如何加载显示呢? 方法1: 使用EndNote的Configure EndNote.exe 。 具体步骤为&#x…

内网安全:横向传递攻击(PTH || PTK || PTT 哈希票据传递)

内网安全:横向传递攻击. 横向移动就是在拿下对方一台主机后,以拿下的那台主机作为跳板,对内网的其他主机再进行后面渗透,利用既有的资源尝试获取更多的凭据、更高的权限,一步一步拿下更多的主机,进而达到控…

理解AdaBoost算法:简单流程概述(一)【流程理解、无数学推导】

什么是AdaBoost 算法? AdaBoost(Adaptive Boosting)算法,全称为 自适应提升 ,是 一种在机器学习中用作集成方法的提升技术 。它之所以被称为自适应提升,因为每个实例的权重会重新分配,错误分类…

C语言 | Leetcode C语言题解之第123题买卖股票的最佳时机III

题目&#xff1a; 题解&#xff1a; #define max(a, b) ((a) < (b) ? (b) : (a))int maxProfit(int* prices, int pricesSize) {int buy1 -prices[0], sell1 0;int buy2 -prices[0], sell2 0;for (int i 1; i < pricesSize; i) {buy1 max(buy1, -prices[i]);sell…

解决:【无法安装“vue.volar“扩展,因为它与当前 VIsual Studio Code 版本不兼容(版本 1.80.0)】

目录 问题复现问题分析解决步骤1、进入VSCode插件市场&#xff0c;搜索Vue.volar2、点击搜索结果&#xff0c;进入详情页面3、下载.vsix文件完成后&#xff0c;用解压软件打开 4、复制package.json文件&#xff0c;修改vscode版本5、保存package.json文件&#xff0c;并更新.v…

【NPS】微软NPS配置802.1x,验证域账号,动态分配VLAN(有线网络篇)

上两篇中介绍了如何配置NPS和在WLC上如何配置802.1X来实现验证域账号和动态分配VLAN&#xff0c;802.1x协议作为一种成熟的身份验证框架&#xff0c;不仅适用于无线网络&#xff0c;同样也适用于有线网络环境。这里我们将介绍如何在有线网络中部署802.1x认证&#xff0c;以验证…

Visual Studio的桌面快捷方式图标不显示

1.问题描述 以下以Visual Studio 2019举例&#xff0c; 正常图标&#xff1a; 但是当前Visual Studio的桌面快捷方式图标不显示了&#xff1f; 2.问题原因分析 Visual Studio 2019桌面快捷方式图标不显示可能由以下几个原因造成&#xff1a; 图标缓存问题&#xff1a;Windo…

Spring boot 集成thymeleaf

Spring boot 集成thymeleaf 背景 自己通过Spring boot集成通义千问实现了一个智能问答系统。Spring boot集成通义千问已经完成&#xff0c;现在需要做一个简单的页面展示&#xff0c;作为一个八年没有摸过前端的后端开发人员&#xff0c;不得不又拿起了html和thymeleaf。 Sp…

笔记-docker基于ubuntu22.04安装Jitsi Meet

背景 利用JitsiMeet打造一个可以在线会议的环境&#xff0c;根据躺的坑&#xff0c;做个记录 参考 JitsMeet部署安装说明 开始操作 环境 docker run -it --name ubuntu22.04 ubuntu:22.04 /bin/bash问题 1、安装 openjdk-11 apt install openjdk-11-jdk配置环境变量&…

探索 Ollama: 你的本地 AI 助手

本期推荐的开源项目是 Ollama&#xff0c;它是一款本地大模型运行工具&#xff0c;可以帮助用户轻松下载和运行各种大型语言模型&#xff08;LLM&#xff09;&#xff0c;而无需将数据上传到云端。以下是关于 Ollama 的介绍以及安装和使用教程&#xff1a; Ollama 是什么&#…

深入分析 Android Service (四)

文章目录 深入分析 Android Service (四)1. 使用 Messenger 进行通信2. 详细示例&#xff1a;使用 Messenger 进行通信2.1 创建 MessengerService2.2 在 Activity 中绑定服务并发送消息 3. 使用 AIDL 进行进程间通信3.1 定义 AIDL 接口3.2 实现 AIDL 接口3.3 在客户端绑定 AIDL…

ABAP 自动填充DATAX

问题 经常做BAPI开发的时候&#xff0c;SAP有个什么DATAX的表对应DATA&#xff0c;每次都要写一堆成对的DATA和DATAX&#xff0c;不然就会修改失败&#xff0c;每次复制粘贴也有点麻烦而且容易漏 代码实现 群里大姑刚好写了段代码用来匹配这个DATA和DATAX格式的&#xff0c…

k8s集群的存储卷、pvc和pv

目录 简介 简介 PV 全称叫做 Persistent Volume&#xff0c;持久化存储卷。它是用来描述或者说用来定义一个存储卷的&#xff0c;这个通常都是由运维工程师来定义。 PVC 的全称是 Persistent Volume Claim&#xff0c;是持久化存储的请求。它是用来描述希望使用什么样的或者说…