使用 Nginx 配置 OnlyOffice 公网访问域名

🚀 使用 Nginx 配置 OnlyOffice 公网访问域名

在部署 OnlyOffice DocumentServer 时,很多小伙伴会遇到公网无法访问、协同编辑打不开、或者请求被阻断等问题。其实关键点在于 Nginx 的反向代理配置。本文将手把手带大家完成 OnlyOffice 的公网域名配置,并详细解释配置参数,避免踩坑。


1️⃣ 背景介绍

  • OnlyOffice DocumentServer:一款支持在线文档协同编辑的开源套件,常与 NextcloudOwncloud 等配合使用。
  • Nginx:作为 Web 服务器,负责将公网请求转发到本地运行的 OnlyOffice 服务端口(默认 9002)。

由于 OnlyOffice 默认只监听本地端口(如 http://127.0.0.1:9002),如果不加一层反向代理,公网用户是无法直接访问的。因此我们需要通过 Nginx 配置域名反代


2️⃣ 环境准备

  • 服务器:Linux(推荐 Ubuntu/Debian)

  • 域名:已解析到服务器公网 IP,例如 onlyoffice.yourdomain.com

  • 已安装:

    • Nginx
    • OnlyOffice DocumentServer(本地 9002 端口)

3️⃣ Nginx 配置文件示例

在 nginx中写入如下配置:

server {
    listen 80;
    server_name onlyoffice.yourdomain.com;

    location / {
        proxy_pass  http://127.0.0.1:9002;
        proxy_redirect     off;

        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   X-Forwarded-Proto $scheme;

        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection upgrade;

        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

        proxy_max_temp_file_size 0;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }

    error_log /var/log/nginx/onlyoffice.yourdomain.com-error.log error;
    access_log  /var/log/nginx/onlyoffice.yourdomain.com-access.log;
}

⚙️ 配置解析

  • listen 80;
    监听 80 端口(HTTP)。如果需要 HTTPS,可以后续配置 SSL 证书。

  • server_name onlyoffice.yourdomain.com;
    绑定访问的域名。

  • proxy_pass http://127.0.0.1:9002;
    将请求转发到本地运行的 OnlyOffice 服务。

  • proxy_set_header
    设置请求头,保证用户真实 IP、协议、连接升级(用于 WebSocket)。

  • proxy_next_upstream
    出现错误时尝试切换上游,保证服务可用性。

  • proxy_* 超时 & 缓冲区配置
    避免大文件传输时中断。


4️⃣ 重启nginx加载配置

执行以下命令启用:

systemctl reload nginx

如果没有报错,访问 http://onlyoffice.yourdomain.com 就能看到 DocumentServer 页面了。


5️⃣ 常见问题排查

❌ 502 Bad Gateway

  • 检查 OnlyOffice 服务是否在运行:

    docker ps | grep onlyoffice
    

    ss -lntp | grep 9002
    
  • 确认 proxy_pass 地址与端口正确。


❌ 域名无法访问

  • 检查域名是否解析到公网 IP:

    dig onlyoffice.yourdomain.com
    
  • 确认防火墙放行 80 端口。


❌ 协同编辑打不开(WebSocket 问题)

  • 确认 proxy_set_header Upgradeproxy_set_header Connection upgrade; 已正确配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值