onlyoffice部署中https与http冲突的原因思考

问题描述

使用https://xxx/api.js初始化onlyoffice,明明使用了https,但是Editor.bin的url却是http://xxx/cache/file这个样子的。

部署架构举例

很多时候系统部署都会在不同服务器,或者内网+外网, 所以在入口nginx上就会做各种转发例如: proxy_pass http://xxxxx;下面画图试试。

通常在外网上会配置https,但是因为使用nginx转发 ,为了图方便所以最终在only上只配置了http。那也就是说,只有html页面上看到的最外层才是https,only底层通信本质还是http。

详细说明

我们查看Editor.bin的获取源码会发现,它的url是only的后端server直接返回的,并不是在前端二次加工的内容,那么,因为only本身在转发层只收到了http,server代码上获取当前协议的时候,是不是只能认为http可用??因为你给我的就是http,我就认为只有http可用,不需要考虑其他任何情况,这样才是好的程序设计。详细的源码感兴趣的老师就再研究研究。

尝试解决

我们在外网配置了https,那么内网上的proxy_pass也需要改为https。比如:系统地址为https://www.caorui.com,only地址为192.168.71.162/xxx/api.js同时需要使用二级目录来映射https://www.caorui.com/office/,https://www.caorui.com/office/ ---> 192.168.71.162,这时候需要做两件事。

1、onlyoffice本身需要配置好https支持,具体的可以看看官方文档,保证可以通过https://证书域名/xx/api.js访问到系统。

2、内网nginx上转发应该写成:proxy_pass https://uatdocservice;,转发层作为入口也要告诉only目前https是可用的。

结语

这篇文章只是随笔,目前有老师遇到了复杂网络环境的配置,我本人也没有足够的能力来直接解决问题,所以就只能想到回归本质,点对点保证每一项对应都是正确的来尝试再次解决一下。

相关推荐
李纲明15 分钟前
WordPress 挂上 Cloudflare 后询盘和后台异常:缓存规则、SSL 模式和真实 IP 怎么核
运维·缓存·https·cdn·wordpress·cloudflare
2501_9151063217 小时前
跨平台抓包工具怎么选?TraceEagle抓包鹰 的四种跨平台能力
网络协议·计算机网络·网络安全·ios·adb·https·udp
j7~19 小时前
【Linux网络加餐】《HTTPS 协议原理》---详解
网络·网络协议·https·加密·ca认证·解密
紧跟先前的步伐1 天前
Go AI Agent 实战 12|HTTP 状态码、API 错误处理与日志
开发语言·人工智能·http·ai·golang
Lsetea1 天前
curl下载HTTPS正文是乱码:--compressed与Content-Encoding分层排查
linux·http·https·ssl证书·curl
刘胡子大叔1 天前
curl resolve 和 Host 头的两种免 DNS 验证 HTTPS
网络协议·http·https
j7~1 天前
【Linux网络加餐】《HTTP 会话保持:Cookie 与 Session 原理及实验验证》---详解
linux·网络·网络协议·http·cookie·session
00后程序员张1 天前
无需 Mac 的 iOS App 上架工具,开心上架Appuploader 负责哪些环节
android·ios·小程序·https·uni-app·iphone·webview
mister_guo2 天前
HTTP 和 RPC:从一次干饭说清它们的区别
网络协议·http·rpc
严谨的麻辣烫2 天前
Python HTTP 连接池怎么用?从连接复用到请求异常排查
开发语言·python·http·requests·网络排查