背景

还是前几篇博客提到的问题,使用docker部署了onlyoffice插件,从应用跳转至插件,使用ip+端口跳转没有问题,但使用localhost+端口或者域名跳转,就会报“文件打开错误”、“下载失败”等错误。

在这里插入图片描述

经排查,是因为onlyoffice没有将localhost识别为应用所在服务器的ip。

解决方式

使用nginx反向代理。

配置步骤

1、进入docker的onlyoffice容器下的/etc/nginx/目录,编辑nginx.conf文件。

在http模块下添加配置并保存

在这里插入图片描述

server {
        listen 8082; # 应用端口
    
        location /目录名 {
            proxy_pass http://应用ip:应用端口/目录名 #(即要从哪里跳转至onlyoffice插件);
            
            # 以下配置项可选,根据实际需求调整
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_http_version 1.1;
            proxy_read_timeout 300s;
        	}
        }

2、检验nginx.conf文件是否配置正确:

nginx -t

在这里插入图片描述
3、重启onlyoffice容器。
4、重新从应用跳转至插件,使用localhost+端口的模式下已经可以跳转了,由于客户网络原因,没有尝试域名跳转,不过原理上应该也是可以的,后续验证后再更新。

更新:经验证,域名跳转也可以。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐