# 一、前言最近测试直播相关的业务比较多,所以就想着,了解下直播相关的开发,是不是对后续的音视频测试更有帮助。每次推流都是使用公司提供的推流地址,那么是不是可以自己搭建一台,果然,Nginx-rtmp-module模块可以实现一个简易的直播系统。当然在搭建的过程中,也遇到了一些 Nginx 相关的问题,所以把这块内容整理下,加深下印象。# 二、基本配置以下内容均在Mac电脑中实现## 2.1 安装Nginx brew tap denji/homebrew-nginx...
# 问题背景nginx 作为广泛使用的 web 服务,同时整体采用模块化设计是Nginx的一个重大特点。当我们需求我们访问文件需要响应文件的 md5 值作为http的一个响应头部,需要如何进行配置。# 解决方案目前 nginx 没有提供文件 MD5 值的模块,采用比较流行的方式是使用第三方文件 MD5 模块。 使用的第三方模块地址为:> https://github.com/mikewest/nginx-static-etags## nginx 编译使用第三方模块,我们需要对nginx 进行重新编译并...
# 问题描述VKE 中在组件管理位置安装了ingress-nginx,如何配置使其支持 Websockets。# 问题分析通过[官网](https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/#websockets)查看 ingress-ng... namespace: xxx annotations: nginx.ingress.kubernetes.io/proxy-read-timeout: '3600' nginx.ingress.kubernetes.io/proxy-send-timeout: '3600'spec:...```2. 通过 ConfigMaps 修改```$ k...
# 问题描述configmap挂载在容器的路径中会覆盖掉容器路径下原有的文件,如何支持configmap的每个key-value挂载在容器中,且不会覆盖掉原目录下的文件。# 问题分析可以通过subpath,挂载到容器的子路径中。# 解决方案1.configmap yaml文件```yamlapiVersion: v1kind: ConfigMapmetadata: name: configmap-subpath namespace: defaultdata: example.subpath.1: subpath1 example.subpath.2: subpath2 exampl...
Nginx Ingress 支持一致性哈希算法,能够能够有效解决动态增删后端服务器带来的负载均衡震荡问题。本文为您介绍如何配置 Nginx Ingress 的一致性哈希算法。 背景说明Nginx Ingress 默认支持的源 IP Hash 方法使用的是线性的 Hash 空间,系统会根据源 IP 的 Hash 运算值来选取后端的目标服务器。保证相同的源 IP 总是被分配到相同的后端服务器上。 但这种方法存在一个问题,当添加或删除后端服务器时,所有源 IP 都需要重新进行 Hash ...
详情请参见 ingress-nginx 组件。 自定义 ingress-nginx:在容器服务 应用中心 中,使用模版部署自定义的 ingress-nginx 应用。详情请参见 部署多套 Nginx Ingress Controller。 日志采集默认情况下,自定义 Nginx Ingress Controller 的日志没有进行采集和持久化存储,需要您进行配置开启,实现自定义 Nginx Ingress Controller 日志持久化采集、存储以及查询。 说明 已开通 火山引擎日志服务。 已在日志服务中创建 日志项目 和 日志...
Nginx Ingress 支持 URL 重写功能。本文为您介绍如何配置 Nginx Ingress 的 URL 重写功能。 背景说明在某些应用场景中,后端服务提供的 URL 与 Nginx Ingress 规则中配置的路径不同。默认情况下,Nginx Ingress 将访问路径直接转发到后端服务中的相同路径,如果不配置 URL 重写规则,由于访问路径和服务路径不同,访问将返回404。此时,需要使用 URL 重写规则,改写服务访问的 URL,使其能够访问到后端服务的真实路径。 前提条件已连接集...
一般情况下,Nginx Ingress 与后端服务的对接使用的是 HTTP 协议,为保证后端通信安全,您可以通过 Annotation 配置使用 HTTPS 协议对接后端服务器。本文为您介绍如何通过 HTTPS 对接后端服务器。 前提条件已连接集群。详情请参见 连接集群。 已在集群中安装 ingress-nginx 组件。详情请参见 ingress-nginx 组件。 已在火山引擎 SSL 证书服务 购买或使用 OpenSSL 创建 SSL 证书和密钥。 操作步骤步骤一:配置保密字典已获取 SSL 证书...
bash kubectl apply -f service-demo.yaml步骤三:配置 Nginx Ingress配置 ingress 对外暴露服务。其中,在spec.ingressClassName字段中使用名称指定自定义的 Nginx Ingress Controller。示例文件ingress-demo.yaml代码如下: yaml apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: ingress-demo ingress 的名称 namespace: doc-ns ingress 所在的命名空间spec: ingressClassName: user-ingress-nginx 自定义的...
# 问题背景nginx 作为广泛使用的 web 服务,同时整体采用模块化设计是Nginx的一个重大特点。当我们需求我们访问文件需要响应文件的 md5 值作为http的一个响应头部,需要如何进行配置。# 解决方案目前 nginx 没有提供文件 MD5 值的模块,采用比较流行的方式是使用第三方文件 MD5 模块。 使用的第三方模块地址为:> https://github.com/mikewest/nginx-static-etags## nginx 编译使用第三方模块,我们需要对nginx 进行重新编译并...
为保证公网环境下的通信安全,业务使用 Ingress 暴露到公网时,通常使用 HTTPS 协议通信。本文为您介绍如何配置 HTTPS 协议的 Nignx Ingress。 前提条件已连接集群。详情请参见 连接集群。 已在集群中安装 ingress-nginx 组件。详情请参见 ingress-nginx 组件。 已在火山引擎 SSL 证书服务 购买或使用 OpenSSL 创建 SSL 证书和密钥。 操作步骤步骤一:配置保密字典已获取 SSL 证书和密钥,本文以tls.key和tls.crt为例。 执行以下命令...
预期结果如下,访问到了后端旧版本的应用。 bash This is the old version of nginx配置灰度发布Nginx Ingress 支持基于 Header、Cookie 和服务权重三种流量切分策略,实现灰度发布。 注意 相同服务的 Canary Nginx Ingress 仅能够定义一个,因此后端服务最多支持两个版本。 即使流量完全切到了 Canary Nginx Ingress 上,旧版本服务仍需存在,否则会出现报错。 基于 Header 实现灰度发布使用如下 YAML 配置,配置 Canary Nginx Ingre...
问题现象在浏览器下载大文件时,下载大文件超过 1min 会话就被断开,但在浏览器通过 svc:port 下载大文件时就不会超时断开。 报错如下: 原因分析查看 Ingress 相关配置,发现并未配置超时相关,所以使用的是默认的 60s。 bash kubectl get Ingress cyb -n bigdata-pro -o yamlapiVersion: [networking.k8s.io/v1](http://networking.k8s.io/v1)kind: Ingressmetadata: annotations: [nginx.ingress.kubernetes.io/affinity](ht...