Lucent's Blog

当时明月在 曾照彩云归

人生不相见,动如参与商。

6LCi5Y2O5qKFLOaIkeaDs+S9oOS6hg==


记录使用NextCloud连接OnlyOffice时遇到的问题

问题

在NextCloud后台设置连接OnlyOffice时一切正常,并且域名为https, NextCloud域名和OnlyOffice域名均使用nginx代理(使用了宝塔,方便管理),OnlyOffice只对外映射了80端口,证书使用了nginx配置,但是在打开文档时会报错:

Refused to frame 'http://office.xxx.com' because itviolates the following Content Security Policy directive: "frame-src 'self' https://demo.ja.collaboraonline.com https://office.xxx.com/"

sada

原因

OnlyOffice内部不够智能,不能自动升级https请求

解决方案

以下方案对我有效:

1.修改NextCloud配置

修改NextCloud根目录/config下的config.php文件 在最下面加上

'allow_local_remote_servers' => true

image.png

2.修改OnlyOffice的Nginx的反向代理配置

直接把反向代理的配置替换成如下代码(自行修改ip和端口):

location /
{
    proxy_pass http://10.0.12.5:30010;
		proxy_set_header Host $host:443;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
}


	location ~ /websocket$ {
		proxy_pass http://10.0.12.5:30010;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
                proxy_set_header Host $host:443;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;

	}

image.png 这样就成功了: image.png

网络上其他的解决办法是给页面头部加上:

<meta charset="utf-8" http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

但是这样对我的问题无效。

上一篇

阅读
下一篇

阅读