reeswitch http https ws wss nginx domain default port config
现代H5浏览器产业链越来越丰富,http+websocket+webrtc+sip组合已经是一种非常成熟的web原生音视频通讯解决方案
FreeSWITCH是一个开源的电话软交换平台,早在SIP年代就非常有名,自从支持WebSocket传输sip信令后与Web结合玩法多了许多
WebRTC提供了音视频通讯的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台,但就是没有信令协议部分
Chrome、Firefox等浏览器为了从保护用户隐私绝对安全角度考虑,纷纷提高了Web原生应用访问摄像头、麦克风的门槛:如不是用https、wss安全协议则会有各种警告及确认甚至直接拒绝
WS、WSS其实就是HTTP、HTTPS的WebSocket协议名称,其使用方式及默认端口都完全一致
综上所述,如果都用同一个域名地址承载web sip相关服务方便用户使用,就需要在nginx上做一些优雅的配置
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
listen 443 ssl;
root /var/www/sip;
proxy_read_timeout 3600;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
location / {
if ($scheme = 'http') {
set $ws_port 5066;
}
if ($scheme = 'https') {
set $ws_port 7443;
}
if ($http_upgrade = 'websocket') {
proxy_pass $scheme://$server_addr:$ws_port;
}
}
}
|
其对应freeswitch相关端口配置片断如下
|
1
2
3
4
5
6
7
8
9
|
<!-- Internal SIP Profile -->
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
<!-- RTP port range -->
<param name="rtp-start-port" value="16384"/>
<param name="rtp-end-port" value="32768"/>
<!-- for sip over websocket support -->
<param name="ws-binding" value=":5066"/>
<!-- for sip over secure websocket support -->
<param name="wss-binding" value=":7443"/>
|
注:
sip和rtp端口不经nginx直连,但需要防火墙做相应的白名单
ws5066端口和wss7443端口间接通过nginx的http端口和https端口反向代理提供服务
nginx默认的http80端口和https443端口又用来提供webrtc前端相关资源访问
reeswitch http https ws wss nginx domain default port config的更多相关文章
- http/https与websocket的ws/wss的关系以及通过Nginx的配置
http/https与websocket的ws/wss的关系 - 哒哒哒 - CSDN博客 https://blog.csdn.net/Garrettzxd/article/details/81674 ...
- Nginx配置https和wss
微信小程序不仅要求必须是HTTPS和WSS,还要求URL里不能有端口号. 一.使用Nginx足够了 常见的服务器有三种: Nginx IIS Apache 这三种服务器都可以配置https,但是没必要 ...
- centos配置小程序https和wss协议
用nginx做代理,conf.d下ssl.conf配置成https,wss在nginx.conf里http某块中配置 例代码如下: ssl.conf-->https server { liste ...
- 搭建微信小程序基本的https与wss环境
年底了写一篇小程序环境搭建的文章, 主要是怎么搭建一个线上环境以及怎么不改动原有http Api的情况 1.准备工作 域名一个 免费证书(推荐: 腾讯云.阿里云.便宜ssl 都是免费的 配置好后先将证 ...
- nginx: [emerg] "fastcgi_pass" directive is duplicate in /etc/nginx/sites-enabled/default:57
/************************************************************************************************ * ...
- Nginx https加密以及nginx日志配置与管理
Nginx https加密以及nginx日志配置与管理 使用Nginx的优点Nginx作为WEB服务器,Nginx处理静态文件.索引文件.自动索引的效率非常高.Nginx作为代理服务器,Nginx可以 ...
- https://www.threatminer.org/domain.php?q=blackschickens.xyz ——域名的信誉查询站点 还可以查IP
https://www.threatminer.org/domain.php?q=blackschickens.xyz https://www.threatminer.org/host.php?q=6 ...
- nginx.conf.default
[root@web03 conf]# vim nginx.conf.default #user nobody;worker_processes 1; #error_log logs/error.log ...
- 购买https证书以及nginx配置https
文章来源 运维公会:购买https证书以及nginx配置https 1.https的作用 https的全名是安全超文本传输协议,是在http的基础上增加了ssl加密协议.在信息传输的过程中,信息有可能 ...
随机推荐
- .user.ini和.htaccess
.user.ini .user.ini的使用条件 (1)nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法 php配置访问级别 不同的php配置项根据其访问级别具有不 ...
- Android达到什么水平才能顺利拿到 20k 无压力?
程序员分很多种类和等级,如果要提高达到20k的概率,有两个条件如果满足的话,则很容易达到: 1.一线城市:北上广深杭 2.互联网行业 如果你非得抬杠,我要在三线城市,做外包要赚20k的话,很难,我自己 ...
- Linux 文件、目录与磁盘格式
文件属性 连接数 文件持有者 文件所属群组 文件容量 文件最后修改时间 文件名(就那个..) 第一栏其中文件属性有10,第一个属性代表这个文件是目录.文件或链接文件: [d]目录 [-]文 ...
- Golang语言系列-02-常用数据类型
Go语言常用数据类型 Go 语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串.byte/rune 之外, 还有数组.切片.函数.map.通道(channel).结构体等. Go语言的基本 ...
- Python语言系列-02-基础数据类型
格式化输出 #!/usr/bin/env python3 # author:Alnk(李成果) # 百分号% 格式化输出 name = input('姓名:') age = input('年龄:') ...
- Java之JSP
JSP JSP简介 JSP指的是 JavaServerPages ,Java服务器端页面,也和Servlet一样,用来开发动态web JSP页面中可以嵌入java代码为用户提供动态数据 JSP原理 J ...
- Docker运行PostgreSQL
docker-compose.yml version: '3.1' services: db: image: postgres restart: always ports: - 5432:5432 e ...
- .Net Core 配置系统解析
特性 支持多种格式 xml json ini memory command env 支持多层嵌套 //.Net Core { "username": "Jack" ...
- git 的指定参考教程
https://www.runoob.com/git/git-create-repository.html
- ArcGIS Engine中实现ArcMap的捕捉效果
注意要将捕捉相关接口的对象放在OnCreate方法中,这样在初始化就可以有捕捉效果,(捕捉对象赋值放在OnClick中出现第一次点击之前不能捕捉的BUG) 这里是直接在工具中实现的 ,可以按需求将捕捉 ...