这个AUI问题怎么解决?
我现在在阿里云服务器上部署了AUI Kits测试服务,没有使用nginx代理等,使用https请求生成直播地址,但是这个接口获取到的协议是http,服务器上配置了ssl证书,证书打开,这个直播是无效的,只有关闭证书才能验证通过。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果您在阿里云服务器上部署了 AUI Kits 测试服务,并且使用 HTTPS 请求生成直播地址,但返回的协议是 HTTP,并且无法通过 SSL 证书验证,请确保以下几点:
证书配置正确:确保您在服务器上正确配置了 SSL 证书。仔细检查证书是否正确安装,并确保其有效日期和域名匹配。可以尝试重新安装证书或联系证书颁发机构以获取支持。
代理设置:检查您的服务器是否正确配置了反向代理(比如使用 Nginx)来处理 HTTPS 请求。确保代理服务器将请求转发到 AUI Kits 测试服务,并将响应从 HTTP 转发为 HTTPS。请参考相关文档以正确配置代理服务器。
端口设置:确认 AUI Kits 测试服务监听的端口是否正确配置为 HTTPS 的默认端口(通常是 443)。确保您的服务器上没有其他进程占用该端口。
防火墙设置:检查服务器的防火墙设置,确保允许来自外部的 HTTPS 连接。
如果您已经检查了以上问题,并且仍然无法解决 HTTPS 请求生成直播地址时返回 HTTP 的问题,建议您联系阿里云的技术支持团队,向他们报告问题并寻求进一步的帮助和指导。他们将能够更全面地检查您的环境和配置,并提供相应的解决方案。
可以尝试使用以下代码获取请求协议:
Copy
String scheme = request.getHeader("X-Forwarded-Proto");
if (scheme == null || scheme.isEmpty()) {
scheme = request.getScheme();
}
上述代码中,首先尝试从请求头中获取协议头信息,如果请求头中没有 X-Forwarded-Proto 字段,则使用 request.getScheme() 方法获取协议头。
demo的代码仅供参考,你可以基于你们服务部署灵活调整的,不必说一定要用Demo那些代码。如果只能拿到http, 你就写死https。 或者把这块做成配置项。此回答整理自钉群“AUI客户支持群”