關(guān)鍵詞:
onlyoffice
nextcloud
Apache?
反向代理
nginx
Error while downloading the document file to be converted
1. 場景:
一臺服務(wù)器設(shè)備安裝了很多 docker 服務(wù),包括 nextcloud 和 onlyoffice 和 apache。nextcloud、onlyoffice 服務(wù)默認使用 10001 和 10002 端口映射到兩個服務(wù)的 80 端口。直接訪問是通過 80 端口訪問的,沒有 SSL 加密。
?現(xiàn)在用 apache 監(jiān)聽服務(wù)器 IP 的 443 端口,讓所有 docker 服務(wù)通過 apache 的反向代理進行訪問。這樣方便我一個證書對所有的服務(wù)進行加密。
2. 問題:
問題1:
nextcloud 在配置 onlyoffice 服務(wù)器地址的時候,一直報錯 “Error while downloading the document file to be converted” ,并且在onlyoffice的后臺日志看到報錯:?
[2023-07-16T09:35:07.716] [ERROR] nodeJS - error downloadFile:url=http://127.0.0.1:10001/apps/onlyoffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.DLpf7UCdEv7YgQUp3bnn5Q4nCQuHbYj2w28RUqA06hk;attempt=3;code:ECONNREFUSED;connect:null;(id=conv_check_698669687_docx)
網(wǎng)上給出的方法是在 onlyoffice 的 config.php 里面加一句?
'allow_local_remote_servers' => true,
但是我實際測試發(fā)現(xiàn)還是會有出現(xiàn)問題。后面我解決的方法是在 Apache 的反向代理里面將 127.0.0.1:10001 改成了我服務(wù)器的 IP 192.168.5.66:10001 解決了問題。這個問題的原因是 nextcloud 在 18 版本及以后不允許直接通過 localhost 或 127.0.0.1 進行文檔訪問。
ProxyPass / http://192.168.5.66:10001/
ProxyPassReverse / http://192.168.5.66:10001/
問題2:
onlyoffice 配置了反向代理之后,一直出現(xiàn)我輸入地址 https:/onlyoffice地址 訪問 onlyoffice ,但是實際會跳轉(zhuǎn)到 http://onlyoffice地址。 導(dǎo)致 onlyoffice 服務(wù)無法正常使用。
解決方法:
我是使用 docker 安裝的 onlyoffice,這個 docker 鏡像里面有一個 nginx 服務(wù)對地址進行了 rewrite。將 https 重寫成了 http(因為反向代理的目的地址是 http://127.0.0.1:10002)所以我就強制將地址改成了 https ,具體修改如下:
文件:/etc/nginx/includes/http-common.conf
原代碼為:
map $http_x_forwarded_proto $the_scheme {
default $http_x_forwarded_proto;
"" $scheme;
}
對 $the_scheme map 修改后的代碼:
map $http_x_forwarded_proto $the_scheme {
default https;
"" https;
}
我這樣就強制將頭改成了 https 。這樣做會導(dǎo)致普通的 http 地址訪問會被重寫成 https。有了具體原因,可以根據(jù)實際情況決定是否強制改動,或者加一些邏輯判斷語句。我這里因為肯定用 https 地址訪問,所以就寫死為 https 了。
這兩個都解決之后,我所有的問題都解決了。希望我的分享對你有幫助。
補充:正確的解決方法
備注:正確的解決方法不需要改動 nextcloud docker 容器內(nèi)的任何文件。在 Apache 中配置?X-Forwarded-Proto 為 "https" 。文章來源:http://www.zghlxwxcb.cn/news/detail-809983.html
具體操作為在 Apache 的反向代理配置文檔中加入下面這句話:文章來源地址http://www.zghlxwxcb.cn/news/detail-809983.html
RequestHeader set X-Forwarded-Proto "https"
到了這里,關(guān)于Nextcloud 集成 onlyoffice 配置 apache 反向 SSL 反向代理填坑的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!