当前位置: 首页 > news >正文

本地部署webrtc应用怎么把http协议改成https协议?

环境:

WSL2

Ubuntu22.04

webrtc视频聊天应用

问题描述:

本地部署webrtc应用怎么把http协议改成https协议?

http协议在安卓手机浏览器上用不了麦克风本,来地应用webrtc 本来是http协议,在安卓手机上浏览器不支持使用麦克风

解决方案:

1.服务器端配置

SSL证书:确保你的服务器已经安装并配置了SSL证书。对于开发环境,可以使用自签名证书;对于生产环境,则应该从可信的证书颁发机构(CA)获取证书。

Web服务器配置:使用的是Nginx

本地HTTP服务(http://192.168.1.9:8010/index.html)通过HTTPS协议访问,你需要配置Web服务器(如Nginx)来使用SSL/TLS证书。以下是详细的步骤,帮助你配置Nginx以支持HTTPS。

2.安装 Nginx 和 OpenSSL

确保你已经安装了 Nginx 和 OpenSSL。你可以使用以下命令在 Ubuntu 上安装它们:

sudo apt update
sudo apt install nginx openssl

3.生成自签名SSL证书

如果你还没有SSL证书,可以按照之前的指导生成一个自签名证书。假设你已经在 /etc/nginx/ssl 目录下生成了 private.keycertificate.crt 文件。

sudo mkdir -p /etc/nginx/ssl
cd /etc/nginx/ssl
openssl genpkey -algorithm RSA -out private.key
openssl req -new -key private.key -out csr.csr
openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt

在这里插入图片描述本地一定用不加密证书

openssl rsa -in /etc/nginx/ssl/private.key -out /etc/nginx/ssl/private_unencrypted.key

4.配置 Nginx 以支持 HTTPS

编辑 Nginx 的配置文件,通常位于 /etc/nginx/sites-available/default 或者创建一个新的配置文件。用默认配置文件要删除里面全部内容。配置 HTTPS 的示例配置:
nano /etc/nginx/sites-available/default

server {listen 4010 ssl;server_name 192.168.1.9;ssl_certificate /etc/nginx/ssl/certificate.crt;ssl_certificate_key /etc/nginx/ssl/private_unencrypted.key;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;location / {proxy_pass http://127.0.0.1:8010; # 假设你的应用在8010端口上运行proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}# 如果需要重定向所有 HTTP 请求到 HTTPS
server {listen 80;server_name 192.168.1.9;return 301 https://$host$request_uri;
}

5.测试和重启 Nginx

在修改配置文件后,测试 Nginx 配置是否正确:

sudo nginx -t

在这里插入图片描述

如果没有错误,重启 Nginx 使更改生效:

sudo systemctl restart nginx

6.更新客户端代码中的URL

确保你在客户端代码中使用的URL已更新为HTTPS:

https://192.168.1.7:4010

7.处理浏览器安全提示

对于自签名证书,浏览器会显示警告信息。这是因为在生产环境中,你应该从受信任的证书颁发机构(CA)获取证书。对于开发环境,你可以选择忽略这些警告或手动接受证书。

总结

通过上述步骤,你应该能够成功配置 Nginx 以支持 HTTPS,并将你的本地 HTTP 服务转换为 HTTPS 访问。

相关文章:

本地部署webrtc应用怎么把http协议改成https协议?

环境: WSL2 Ubuntu22.04 webrtc视频聊天应用 问题描述: 本地部署webrtc应用怎么把http协议改成https协议? http协议在安卓手机浏览器上用不了麦克风本,来地应用webrtc 本来是http协议,在安卓手机上浏览器不支持使…...

基于xiaothink对Wanyv-50M模型进行c-eval评估

使用pypi安装xiaothink: pip install xiaothink1.0.2下载模型: 万语-50M 开始评估(修改模型路径后即可直接开始运行,结果保存在output文件夹里): import os import json import pandas as pd import re from tqdm import tqdm i…...

使用k6进行kafka负载测试

1.安装环境 kafka环境 参考Docker搭建kafka环境-CSDN博客 xk6-kafka环境 ./xk6 build --with github.com/mostafa/xk6-kafkalatest 查看安装情况 2.编写脚本 test_kafka.js // Either import the module object import * as kafka from "k6/x/kafka";// Or in…...

Unity A*算法实现+演示

注意: 本文是对基于下方文章链接的理论,并最终代码实现,感谢作者大大的描述,非常详细,流程稍微做了些改动,文末有工程网盘链接,感兴趣的可以下载。 A*算法详解(个人认为最详细,最通俗易懂的一…...

浏览器要求用户确认 Cookies Privacy(隐私相关内容)是基于隐私法规的要求,VUE 实现,html 代码

Cookie Notices and Cookie Consent | Cookiepedia 1. 法律法规要求 许多国家和地区的隐私法律要求网站在存储或处理用户数据(包括 Cookies)之前必须获得用户的明确同意: GDPR(欧盟通用数据保护条例) 要求&#xff…...

如何设计高效的商品系统并提升扩展性:从架构到实践的全方位探索

在现代电商、零售及企业资源管理系统中,商品管理无疑是核心模块之一。随着市场的变化与企业规模的扩展,商品系统需要具备强大的功能支持以及高效的扩展能力,以应对日益复杂的业务需求。一个设计良好的商品系统不仅仅是一个商品信息的容器&…...

使用计算机创建一个虚拟世界

创建一个虚拟世界是一项复杂而多方面的工作,它涉及多个领域的知识,包括计算机图形学、编程、物理模拟、声音设计、艺术设计等。以下是创建虚拟世界的基本步骤和工具建议: 1. 确定虚拟世界的目标和范围 目标:明确这个虚拟世界的用…...

datasets笔记:两种数据集对象

Datasets 提供两种数据集对象:Dataset 和 ✨ IterableDataset ✨。 Dataset 提供快速随机访问数据集中的行,并支持内存映射,因此即使加载大型数据集也只需较少的内存。IterableDataset 适用于超大数据集,甚至无法完全下载到磁盘或…...

【ETCD】【Linearizable Read OR Serializable Read】ETCD 数据读取:强一致性 vs 高性能,选择最适合的读取模式

ETCD 提供了两种不同类型的读取操作方式,分别是 Linearizable Read(线性化读取)和 Serializable Read(可串行化读取)。这两种方式主要区分在读取数据时对一致性的要求不同。 目录 1. Linearizable Read(线…...

【CSS in Depth 2 精译_089】15.2:CSS 过渡特效中的定时函数

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第五部分 添加动效 ✔️【第 15 章 过渡】 ✔️ 15.1 状态间的由此及彼15.2 定时函数 ✔️ 15.2.1 定制贝塞尔曲线 ✔️15.2.2 阶跃 ✔️ 15.3 非动画属性 文章目录 15.2 定时函数 Timing function…...

不常用命令指南

常用命令网上资料很多,讲的也不错。这里记录下日常工作中用到的,但对于新手又不常用的命令 文章目录 信息相关进程相关htoppgrep(根据指定的条件获取进程id)lsof 网络相关ssnc(netcat) 信息相关 进程相关 …...

spring mvc | servlet :serviceImpl无法自动装配 UserMapper

纯注解SSM整合 解决办法: 在MybatisConfig添加 Configuration MapperScan("mapper")...

STM32 HAL库之串口接收不定长字符

背景 在项目开发过程中,经常会使用MCU的串口与外界进行通信,例如两个单片机之间TTL电平型串口通信,单片机与成熟电路模块之间的串口通信等等.... 如何高效的使用串口是开发人员必须关注的问题。 STM32的HAL库为我们提供了三种串口通信机制&am…...

Pyqt6的tableWidget填充数据

代码 from PySide6.QtWidgets import QTableWidget QTableWidgetItemdef tableInit(self):self.tableWidgetself.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)module_keyWord readJsonToDict(keyWordFileDir module_name) #读取模块关键字json字典数据s…...

ASP.NET Core - 依赖注入 自动批量注入

依赖注入配置变形 随着业务的增长,我们项目工作中的类型、服务越来越多,而每一个服务的依赖注入关系都需要在入口文件通过Service.Add{}方法去进行注册,这将是非常麻烦的,入口文件需要频繁改动,而且代码组织管理也会变…...

UVM 验证方法学之interface学习系列文章(十一)virtual interface 再续篇

一 前言 并非总是可以将被测单元(DUT)视为一个黑盒,即仅监控和驱动DUT的顶层端口信号。这一点在从模块级测试转向更大规模的系统级测试时尤为明显。有时,我们需要了解实现细节以便访问DUT内部的信号。这被称为白盒验证。 Verilog一直提供从其他作用域访问几乎任何层次结构…...

面试题整理5----进程、线程、协程区别及僵尸进程处理

面试题整理5----进程、线程、协程区别及僵尸进程处理 1. 进程、线程与协程的区别1.1 进程(Process)1.2 线程(Thread)1.3 协程(Coroutine)2. 总结对比 3. 僵尸进程3.1 什么是僵尸进程?3.2 僵尸进…...

OpenTK 中帧缓存的深度解析与应用实践

摘要: 本文深入探讨了 OpenTK 中帧缓存的使用。首先介绍了帧缓存的基本概念与在图形渲染管线中的关键地位,包括其与颜色缓存、深度缓存、模板缓存等各类缓存的关联。接着详细阐述了帧缓存对象(FBO)的创建、绑定与解绑等操作,深入分析了纹理附件、渲染缓冲区附件在 FBO 中的…...

第2节-Test Case如何调用Object Repository中的请求并关联参数

前提: 已经创建好了project(File -> New -> Project,Type:API/WebService),object repository中已经创建了RESTful endpoint(Object Repository -> New -> Web Service Request&am…...

【HarmonyOS NEXT】Web 组件的基础用法以及 H5 侧与原生侧的双向数据通讯

关键词:鸿蒙、ArkTs、Web组件、通讯、数据 官方文档Web组件用法介绍:文档中心 Web 组件加载沙箱中页面可参考我的另一篇文章:【HarmonyOS NEXT】 如何将rawfile中文件复制到沙箱中_鸿蒙rawfile 复制到沙箱-CSDN博客 目录 如何在鸿蒙应用中加…...

VMware硬件兼容性自查避坑指南:收购后这些查询细节变了

VMware硬件兼容性自查避坑指南:收购后这些查询细节变了 当企业虚拟化平台的稳定性悬于一线,硬件兼容性往往成为最容易被忽视的致命环节。博通收购VMware后,那些曾经熟悉的兼容性查询路径和规则正在发生微妙却关键的变化——就像手术器械消毒流…...

Phi-4-Reasoning-Vision效果展示:红外图像+可见光图像跨模态推理

Phi-4-Reasoning-Vision效果展示:红外图像可见光图像跨模态推理 1. 多模态推理工具概览 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡RTX 4090环境优化。这个工具最令人印象深刻的是它能够处…...

【笔试真题】- 阿里系列-2026.03.25-算法岗

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围在线刷题 bishipass.com 阿里系列-2026.03.25-算法岗 1. LYA 的同余构造 问题描述 说明:阿里系列近期多条业务线笔试题基本共用同一套公开机试,淘天、阿里云等方向都可参考本场。 …...

告别代码恐惧!用KRobot图形化编程,10分钟搞定Arduino巡线小车(附完整接线图)

零代码玩转Arduino巡线小车:KRobot图形化编程全攻略 第一次接触Arduino时,看到满屏的C代码是不是头皮发麻?作为教育工作者或创客爱好者,你可能更希望把时间花在创意实现上,而不是纠结于语法错误。现在,通过…...

论文格式不再是噩梦:Paperxie 智能排版,4000 + 高校模版一键适配知网 / 维普

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/format/typesettinghttps://www.paperxie.cn/format/typesetting 又到毕业季,多少本科生在论文内容写完后,倒在了格式排版这最后一关?字体…...

macOS Sequoia 15.7.5 (24G624) Boot ISO 原版可引导映像下载

macOS Sequoia 15.7.5 (24G624) Boot ISO 原版可引导映像下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:https://sysin.org/blog/macOS-Sequoia-boot-iso/ 查看最新版。原创作品&#xff0c…...

BAAI/bge-m3应用案例:在文档检索系统中实现精准语义匹配

BAAI/bge-m3应用案例:在文档检索系统中实现精准语义匹配 1. 项目背景与核心价值 在当今信息爆炸的时代,企业和个人都面临着海量文档管理的挑战。传统的关键词搜索方式已经无法满足精准检索的需求,特别是在处理专业术语、同义词和跨语言文档…...

MAXON阀150SMA12-FA22-CC2380

MAXON 150SMA12-FA22-CC2380 是一款工业燃烧控制领域的高品质燃气电磁阀。以下是对该型号的详细解析与关键参数: 1. 型号拆解 该型号遵循 MAXON(麦克森,现属 Honeywell 过程解决方案)的命名规则: 150:阀体…...

童年回忆杀!仿《燃烧的蔬菜》游戏完整源码 免费!!!

谁的童年没玩过《燃烧的蔬菜》!这款经典的塔防休闲游戏,用蔬菜当炮弹击退怪物,治愈又解压。今天用PythonPygame复刻核心玩法,包含蔬菜发射、怪物生成、碰撞检测、计分系统,完整源码直接运行,带你重温童年&a…...

内容解锁工具:突破付费墙限制的开源解决方案

内容解锁工具:突破付费墙限制的开源解决方案 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,优质内容常被付费墙阻隔,形成信…...