OpenWrt后台管理启用https-OpenSSL

2023-11-17

OpenWrt 默认使用http 访问管理后台,这样不安全,推荐修改为 https 访问,加密数据传输。本文介绍配置步骤

1、卸载旧的ssl软件包

root@OpenWrt:~# opkg remove luci-ssl px5g px5g-mbedtls

这里一定要卸载 px5g 相关的软件包,否则会使用px5g 脚本生成证书,而不是下面的 openssl

2、安装软件包

安装OpenSSL版的luci-ssl

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install luci-ssl-openssl libuhttpd-openssl

3、安装OpenSSL

root@OpenWrt:~# opkg install --force-reinstall libustream-openssl openssl-util

如果出现openssl命令无法正常使用,则安装时增加--force-reinstall 参数强制重装ipk,如下面的错误

root@OpenWrt:~# openssl genrsa -des3 -out root.key 2048
Error relocating /usr/bin/openssl: SSL_get0_next_proto_negotiated: symbol not found
Error relocating /usr/bin/openssl: SSL_CTX_set_next_protos_advertised_cb: symbol not found
Error relocating /usr/bin/openssl: SSL_CTX_set_next_proto_select_cb: symbol not found
Error relocating /usr/bin/openssl: BIO_f_zlib: symbol not found

4、修改uhttp 配置文件

root@OpenWrt:~# vim /etc/config/uhttpd
config uhttpd 'main'
	#....
	option redirect_https '1'     # --> 访问 http 时跳转到 https
    list listen_http '0.0.0.0:80'
    list listen_https '0.0.0.0:443'

# 配置生成证书时的信息,根据需要修改
config cert 'defaults'
        option days '3650'
        option bits '2048'
        option country 'CN'
        option state 'Somewhere'
        option location 'sky'
        option commonname 'openwrt.lan'

5、修改openssl.cnf

这里可以不修改,可选

root@OpenWrt:~# vim /etc/ssl/openssl.cnf

req_extensions = v3_req # The extensions to add to a certificate request
[ v3_req ]

#Extensions to add to a certificate request

basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names


[ alt_names ]
IP.1= 172.16.10.1     # --> 修改后台管理地址,eg. 192.168.1.1
DNS.1 = 172.16.10.1

6、重启uhttpd

root@OpenWrt:~# /etc/init.d/uhttpd restart
4+0 records in
4+0 records out
Generating a RSA private key
.+++++
..................+++++
writing new private key to '/etc/uhttpd.key.new'
-----

如果出现上面的输出信息就说明成功了,重新打开路由器的管理后台 https://172.16.10.1 浏览器选择 高级–信任证书 就可以了。也可以—> https://openwrt.lan

参考

1、https://openwrt.org/zh-cn/doc/uci/uhttpd

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenWrt后台管理启用https-OpenSSL 的相关文章

  • 在用户程序中使用 或在驱动程序模块代码中使用 ...这有关系吗?

    我正在开发一个设备驱动程序模块和关联的用户库来处理ioctl 来电 该库获取相关信息并将其放入一个结构中 该结构被传递到驱动程序模块中并在那里解压 然后进行处理 我省略了很多步骤 但这就是总体思路 一些数据通过结构体传递ioctl is u
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 如何使用 VSCode 调试 Linux 核心转储?

    我故意从我使用 VSCode 编写的 C 应用程序生成核心转储 我不知道如何调试核心转储 有没有人愿意分享这方面的经验 更新 我相信我现在已经可以使用了 我为核心文件创建了第二个调试配置 我需要添加指向生成的转储文件的 coreDumpPa
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • 为什么无论 -rdynamic 如何,backtrace 都不包含 Objective-C 符号?

    Update 我正在 Linux 上使用 GNU 运行时 问题是not发生在带有 Apple 运行时的 MacOS 上 更新2 我在 MacOS 上编译了 GNU 运行时并用它构建了示例 该错误确实not发生在带有 GNU 运行时的 Mac
  • Linux >2.6.33:可以使用 sendfile() 来实现更快的“猫”吗?

    必须将大量大文件连接成一个更大的单个文件 我们目前使用 cat file1 file2 output file but are wondering whether it could be done faster than with that
  • 有没有办法提高linux管道的性能?

    我正在尝试使用 64 位将超高速数据从一个应用程序传输到另一个应用程序CentOS http en wikipedia org wiki CentOS6 我使用以下方法进行了基准测试dd发现阻碍我的是管道而不是程序中的算法 我的目标是达到
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • GCC 详细模式输出解释

    我是 Linux 新手 谁能向我解释一下我的 hello world 程序的以下详细模式输出 另外 这些文件是做什么用的crt1 o crti o crtend o crtbegin o and crtn o and lc and lgcc
  • PHP mail() 函数不发送邮件

    我有一个小问题 我正在使用一个工作脚本 在我的测试帐户 共享服务器上工作 使用 mail 函数通过 PHP 发送邮件 我刚刚得到了一个专用服务器 但我还无法让该功能发挥作用 在过去的 10 个小时左右的时间里 我阅读了有关 BIND 用于
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • 如何在C程序中直接改变显存映射来绘制像素(无需库函数)

    是否可以通过使用 C 程序更改 RAM 中屏幕 视频即监视器 内存映射中的值来显示黑点 我不想使用任何库函数 因为我的主要目标是学习如何开发简单的操作系统 我尝试访问起始屏幕内存映射 即 0xA0000 在 C 中 我尝试运行该程序 但由于
  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 即使使用 rvm pkg install zlib 后也无法加载此类文件 -- zlib

    我使用 rvm 安装了 zlib 包和 ruby 1 9 3 但是每当我尝试安装时 它说宝石cannot load such file zlib 我用来安装的命令是 rvm install 1 9 3 rvm pkg install zli
  • %config(noreplace) 文件上出现意外的 RPM 冲突

    我正在创建我自己的RPM using rpmbuild My RPM 包含配置文件哪个应该永远不会被覆盖 即使 RPM 包含这些配置文件的新版本 为了存档这个 我用以下标签标记了它们 config noreplace opt mypacka
  • 如何从外部模块导出符号?

    我在内核源代码树之外进行编码 有两个模块 第一个printt有一个功能printtty 将字符串打印到当前 tty 以及第二个模块hello这会调用printtty 在初始化期间 我已经添加了EXPORT SYMBOL printtty 在
  • bash "&" 不打印 "[1]+ Done "

    我在 bashrc 中调用一个脚本来打印打开终端时收到的新消息数 我希望该调用在访问网络时是非阻塞的 有时需要几秒钟 这意味着我无法使用终端直到完成 但是如果我输入 mailcheck 在我的 bashrc 中 它工作正常 但然后打印一个空

随机推荐

  • Centos 安装KVM并安装虚拟机

    需要注意的地方 如果修改了虚拟机XML配置 需要停止虚拟机 然后使用以下命令重新读取XML配置 virsh define etc libvirt qemu centos7 xml Linux服务器两块独立的网卡最好不要配置同一网段的IP地址
  • sam分类算法python代码_Python性能鸡汤_实践Sam

    Python性能鸡汤 一文见 http www oschina net question 1579 45822 下面是关于其中一些点 我的实践 1 内建函数 2 join 连接字符串 l aa bb mystring join l prin
  • 解决多个Tabs频繁切换造成数据错乱问题的方案

    一 利用axios的cancelToken import post from util ajax import axios from axios const CancelToken axios CancelToken post let ca
  • BUUCTF:[GXYCTF2019]BabyUpload1

    文件上传漏洞 不过这里我要吐槽一下 这个题首先他不允许传 png文件 再者 jpg文件不能大 打了也报错 传不上去 可想而知 我当时在做这个题的时候跟见了鬼一样难受 什么文件都传不了 接着做题吧 试着传一个PHP文件 告诉我不能传ph开头的
  • 全新中国交通标志检测数据集2021—CCTSDB 2021: A More Comprehensive Traffic SignDetection Benchmark(全新分类-多算法测评)

    CCTSDB 2021 重磅发布 全新数据集 全新分类 多种算法测评 欢迎大家使用 数据集发布网址 GitHub csust7zhangjm CCTSDB2021 论文原文 HCIS All Issue Human Centric Comp
  • 创建Access数据的ODBC数据源时没有Access数据源驱动器

    在作数据库实例的时候 实例2需要创建Access数据库的ODBC数据源 我的管理工具 ODBC数据源管理器里面只有SQL Server 没有Access等其他 当时我以为是装的时候少装了什么 于是就放下了 没有做这个实例 直接做下边的了 想
  • vue+spring boot+websocket模拟服务端实时向前端推送数据

    一 后端 1 安装websocket依赖
  • Qt类总结(一)QTextEdit

    1 QTextEdit简介 Header include lt QTextEdit gt qmake QT widgets Inherits QAbstractScrollArea Inherited By QTextBrowser QTe
  • UML时序图的画法

    现在是二月 而且到如今你或许已经读到 或听到人们谈论UML 2 0 包括若干进步的 UML 的新规范 所做的变化 考虑到新规范的重要性 我们也正在修改这个文章系列的基础 把我们的注意力从 OMG 的 UML 1 4 规范 转移到 OMG 的
  • SmartImage图片第三方控件android

    1 新建 SmartImageDemo app src main res xml network security config xml 该配置用于HTTP请求
  • 用Arduino读取MLX90393三轴霍尔传感器

    一 模块简介 Melexis MLX90393是一个三轴霍尔传感器 可以检测各个方向的磁场强度 MCU通过I2C或SPI读取X Y Z三轴磁场分量 MLX90393的数据手册已上传 https download csdn net downl
  • 【华为OD机试c++/java/python】微服务的集成测试【2023 Q1 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 现在有n个容器服务 服务的启动可能有一定的依赖性 有些服务启动没有依赖 其次服务自身启动加载会消耗些时间 给你一个nxn 的二维矩阵 useTi
  • element的遮罩层v-loading,隐藏上面的文字和图标,添加自定义内容

    element的遮罩层v loading 隐藏上面的文字和图标 添加自定义内容 之前有个需求是想要一个遮罩层 项目组件用的是element 想用v loading 但是上面的图标和文字格式不是我想要的 效果图 思路如下 1 隐藏自带的文字和
  • go语言的iota是什么意思_Go语言学习——三分钟看透iota

    Go语言学习 三分钟看透iota 源起枚举 最近做需求时 有一个需要枚举的场景 大概有10 个枚举类型 不愿意像定义一个开关那样敷衍的写成 const SwitchOff 0 SwitchOn 1 显得不够精致 于是想到了iota 深入了解
  • 基于Keras的卷积神经网络手写数字识别

    coding utf 8 Created on Sun Aug 1 16 22 47 2021 author Yang Hongyun 构建卷积神经网络模型代码 import tensorflow as tf import keras ke
  • 使用Keras进行LSTM实战

    0 前言 在上文中进行ARIMA时序预测后 了解到强大的LSTM在处理时序预测有更为优秀的表现 因此对LSTM进行了学习 LSTM是一种时间递归神经网络 它出现的原因是为了解决RNN的一个致命的缺陷 原生的RNN会遇到一个很大的问题 叫做T
  • Redis主从集群

    Redis主从集群 1 集群结构 我们搭建的主从集群结构如图 共包含三个节点 一个主节点 两个从节点 这里我们会在同一台虚拟机中开启3个redis实例 模拟主从集群 信息如下 IP PORT 角色 192 168 150 101 7001
  • 文件上传 拿 shell

    启动docker开启镜像环境 成功在主机上访问到 根据弱密码tomcat tomcat登陆管理后台 在下面位置可以找到上传点 上传对应的war文件 先把一剑jsp马保存到zip压缩包中 再修改后缀名为war上传 可以看到上传成功 连接成功
  • 获取表单中某个元素,返回数组

    获取id为editForm的表中中所有input元素的对象 input editForm 获取每个input中name和val var ret input editForm each function var nm this attr na
  • OpenWrt后台管理启用https-OpenSSL

    OpenWrt 默认使用http 访问管理后台 这样不安全 推荐修改为 https 访问 加密数据传输 本文介绍配置步骤 1 卸载旧的ssl软件包 root OpenWrt opkg remove luci ssl px5g px5g mb