阿里云配置ssl多端口共用

阿里云购买免费ssl证书:https://jingyan.baidu.com/article/a3aad71aeceea0b1fb00969c.html

如果是阿里云买的域名,记得打钩

nginx配置ssl:ssl控制台---》订单列表-》点下载按钮--》此处阿里云有提供示例

server {
    listen 443;
    server_name localhost;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   cert/1534660828745.pem;
    ssl_certificate_key  cert/1534660828745.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root html;
        index index.html index.htm;
    }
}

server_name / ssl_certificate / ssl_certificate_key  替换成真实的

多端口共用:

假设有8001,8002两个端口

     location /xxx{
         proxy_pass   http://domain.com:8001/; # 最后的斜杠不能省
         proxy_redirect off;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }

     location /yyy{
         proxy_pass   http://domain.com:8002/; # 最后的斜杠不能省
         proxy_redirect off;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }

    #8001,8002端口也要配好
    server {
        listen          8001;
        server_name     domain.com 11.12.11.22; #域名或ip
        #省略
    }
    server {
        listen          8002;
        server_name     domain.com 11.12.11.22; #域名或ip
        #省略
    }

 

<think>我们正在配置流媒体服务的公网端口和传输协议,需要明确以下模块的端口和协议: 1. RTC (WebRTC) 2. RTP_PROXY 3. RTSP 4. RTMP 5. SRT 根据ZLM(ZLMediaKit)的默认配置和常见流媒体协议的标准,我们整理如下: 注意:以下端口均为默认端口,实际部署中可以根据需要修改,但必须确保公网防火墙开放相应端口。 ### 1. RTC (WebRTC) WebRTC 通常使用 UDP 进行媒体传输,同时需要配合 STUN/TURN 服务(如果部署在公网且需要穿透 NAT,则可能需要)。 - **媒体传输端口**:UDP 范围(默认10000-10500,可配置) - **信令端口**:通常使用 HTTPS(TCP 443)或 WSS(WebSocket Secure,TCP 443)进行信令交换。 在ZLM中,RTC模块需要开放的端口: - **UDP 端口范围**:用于传输音视频数据(RTP/RTCP),默认10000-10500(可配置,需开放公网UDP端口) - **TCP 端口**:用于信令(如HTTP API和WebSocket),通常与HTTP API端口一致(默认8000,可配置)或使用HTTPS(默认443) 因此,需要开放: - TCP: 8000 (HTTP) 或 443 (HTTPS) [用于信令] - UDP: 10000-10500 [用于媒体传输] ### 2. RTP_PROXY RTP_PROXY 用于处理GB28181等协议的RTP流接收和转发。 - 协议:UDP(RTP/RTCP) - 默认端口:默认情况下,ZLM的RTP代理使用UDP端口,范围由配置决定(通常与RTC的端口范围分开配置,但也可以共用)。 在ZLM中,RTP代理的端口范围由配置文件中的`rtp_proxy.port_range`指定,例如: - `rtp_proxy.port_range=30000-35000` 因此,需要开放: - UDP: 30000-35000(根据实际配置) ### 3. RTSP RTSP 默认使用TCP,但也可以使用UDP(较少)。 - 默认端口:TCP 554(明文)或 TCP 322(TLS,较少使用) - 另外,RTP传输可能使用UDP或TCP(如果是interleaved模式,则复用同一个TCP连接)。 在ZLM中,RTSP服务器默认端口: - TCP: 554(默认)或自定义端口(如8554) 注意:如果使用UDP传输RTP(而不是TCP interleaved),则需要额外开放UDP端口(动态范围,通常由RTP代理端口范围控制)。但现代实现多采用TCP interleaved,因此通常只需开放RTSP端口(TCP)。 因此,需要开放: - TCP: 554(或自定义端口) ### 4. RTMP RTMP 基于TCP,默认端口1935。 - 协议:TCP - 默认端口:1935 在ZLM中,RTMP服务器默认端口: - TCP: 1935 因此,需要开放: - TCP: 1935 ### 5. SRT SRT (Secure Reliable Transport) 是一种基于UDT协议的开源传输协议,用于低延迟、安全的流传输。 - 协议:UDP - 默认端口:SRT监听端口默认是9000(可配置) 在ZLM中,SRT模块默认端口: - UDP: 9000 因此,需要开放: - UDP: 9000(或自定义端口) ### 总结表格 | 模块 | 协议 | 默认端口范围/端口 | 说明 | |------------|------|-------------------|------| | RTC | TCP | 8000 (HTTP) 或 443 (HTTPS) | 信令传输 | | | UDP | 10000-10500 | 媒体传输(RTP/RTCP) | | RTP_PROXY | UDP | 30000-35000 | 接收GB28181等RTP流(端口范围可配置) | | RTSP | TCP | 554 | 控制命令(如DESCRIBE, SETUP, PLAY等) | | | UDP | 动态(可选) | 如果使用UDP传输RTP,则需额外开放端口(通常使用RTP_PROXY端口范围) | | RTMP | TCP | 1935 | 推流和拉流 | | SRT | UDP | 9000 | 推流和拉流 | ### 注意事项 1. **端口范围配置**:上述端口范围(如RTC和RTP_PROXY)均可在ZLM的配置文件`config.ini`中修改,请根据实际配置开放端口。 2. **防火墙设置**:在公网部署时,需要在云服务器安全组或防火墙中开放上述端口的入站规则(Inbound Rules)。 3. **端口冲突**:避免与其他服务端口冲突,例如554端口如果被占用,RTSP服务可能无法启动。 4. **动态端口**:RTP媒体传输端口是动态分配的,因此需要开放一个范围,确保该范围内所有端口均可使用。 例如,ZLM配置文件中相关配置项可能如下: ```ini [rtp_proxy] port_range=30000-35000 [rtc] port_range=10000-10500 [rtsp] port=554 [rtmp] port=1935 [srt] port=9000 ``` 请根据实际配置文件调整。 参考:[^1] RTP协议使用UDP传输,但也可以使用TCP(如RTSP interleaved模式)或其他协议。 如果部署在NAT后,还需要配置端口映射(端口转发),将公网IP的端口映射到内网流媒体服务器的相应端口。 §§相关问题§§ 1. 如何修改ZLM(ZLMediaKit)的默认端口配置? 2. 流媒体服务器如何配置防火墙规则? 3. WebRTC的NAT穿透需要哪些额外端口? 4. 如何测试流媒体端口是否开放成功?</think>### 流媒体服务端口与协议配置指南 以下是流媒体服务各模块所需公网端口及传输协议的详细配置说明(基于ZLMediaKit等主流服务架构): #### 1. RTC (WebRTC) - **端口范围**:UDP 10000-65535(动态分配) - **核心协议**:UDP - **辅助端口**: - TCP 80/443(信令传输) - UDP 3478(STUN服务) - **特殊要求**:需开放宽范围UDP端口支持ICE穿透[^1] #### 2. RTP_PROXY (GB28181等) - **端口范围**:UDP 30000-40000(可自定义) - **核心协议**:UDP - **端口分配**:动态分配RTP/RTCP端口对(偶数端口RTP,相邻奇数RTCP) #### 3. RTSP - **默认端口**:TCP 554 - **备用端口**:TCP 8554(常见替代) - **传输模式**: - TCP模式:音视频复用554端口 - UDP模式:需额外开放RTP动态端口(同RTP_PROXY范围) #### 4. RTMP - **标准端口**:TCP 1935 - **安全端口**:TCP 443(RTMPT over HTTPS) - **协议特性**:始终基于TCP传输 #### 5. SRT - **默认端口**:UDP 9000 - **自定义范围**:UDP 10000-65535(可配置) - **核心协议**:UDP(提供可靠传输机制) ### 端口配置汇总表 | 模块 | 协议 | 默认端口 | 动态端口范围 | 特殊要求 | |-------------|------|------------------|-------------------|------------------------| | **RTC** | UDP | 3478(STUN) | 10000-65535 | ICE穿透支持 | | **RTP_PROXY**| UDP | 无固定端口 | 30000-40000 | RTP/RTCP端口对 | | **RTSP** | TCP | 554/8554 | - | UDP模式需开RTP端口 | | **RTMP** | TCP | 1935/443 | - | 无 | | **SRT** | UDP | 9000 | 10000-65535 | 防火墙需允许UDP双向通信 | ### 关键配置建议 1. **安全组规则**(以阿里云为例): ```bash # 开放TCP端口组 ufw allow 1935,443,554,8554/tcp # 开放UDP端口范围 ufw allow 10000:65535/udp ``` 2. **ZLM配置文件** (`config.ini`): ```ini [rtp_proxy] port_range = 30000-40000 # RTP代理端口范围 [rtc] port_range = 10000-65535 # WebRTC端口范围 [srt] port = 9000 # SRT默认端口 ``` 3. **NAT穿透要点**: - 在路由器配置端口转发:公网IP:端口 → 内网服务器IP:端口 - 启用STUN/TURN服务解决对称型NAT问题 - RTP流需保持相同公网/内网端口映射 > ⚠️ **注意**:实际端口使用可能受限于云服务商策略(如AWS/Azure需配置安全组),建议通过`telnet`和`tcpdump`验证连通性: > ```bash > telnet your_domain 1935 # 测试RTMP > tcpdump -i eth0 udp port 9000 # 捕获SRT流量 > ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值