[GH-ISSUE #803] The document could not be saved. Error: "Please check connection settings or contact your administrator". #372

Open
opened 2026-02-26 10:32:12 +03:00 by kerem · 17 comments
Owner

Originally created by @hydrococcous on GitHub (Mar 21, 2025).
Original GitHub issue: https://github.com/ONLYOFFICE/Docker-DocumentServer/issues/803

Originally assigned to: @igwyd, @avdddd1111 on GitHub.

Issue Description

I am encountering an issue while running OnlyOffice in my local testing environment using Docker. Whenever I try to save a document, I consistently receive the following error message:

Steps to Reproduce

  1. Install OnlyOffice Document Server using Docker.
  2. Set up the Angular front-end with the @onlyoffice/document-editor-angular package.
  3. Use the following callbackUrl configuration (adapted for local network):
    callbackUrl: "http://192.168.178.72:8082/files/save/callback.js"
  4. Attempt to save the document.

Expected Behavior

The document should save successfully using the local server and the specified callback URL.

Observed Behavior

The save operation fails, and the error message appears:
"The document could not be saved. Please check connection settings or contact your administrator."

Environment

  • OnlyOffice Document Server: Running in Docker locally.
  • Callback Server: Express.js server to handle callbacks.
  • Frontend: Angular application using the @onlyoffice/document-editor-angular package.
  • Local IP: 192.168.178.31.

Relevant Configuration

Configuration used in the Angular component:

config: IConfig = { document: { "fileType": "docx", "key": "123456789abcdefghijkl", "title": "test.docx", "url": "https://domain.com/sample.docx", permissions: { edit: true } }, editorConfig: { lang: "en", mode: "edit", callbackUrl: "http://192.168.178.72:8082/files/save/callback.js", user: { name: "Editor Name", id: "userid-001" } } }

Originally created by @hydrococcous on GitHub (Mar 21, 2025). Original GitHub issue: https://github.com/ONLYOFFICE/Docker-DocumentServer/issues/803 Originally assigned to: @igwyd, @avdddd1111 on GitHub. ### **Issue Description** I am encountering an issue while running OnlyOffice in my local testing environment using Docker. Whenever I try to save a document, I consistently receive the following error message: ### **Steps to Reproduce** 1. Install OnlyOffice Document Server using Docker. 2. Set up the Angular front-end with the `@onlyoffice/document-editor-angular` package. 3. Use the following `callbackUrl` configuration (adapted for local network): `callbackUrl: "http://192.168.178.72:8082/files/save/callback.js"` 4. Attempt to save the document. ### **Expected Behavior** The document should save successfully using the local server and the specified callback URL. ### **Observed Behavior** The save operation fails, and the error message appears: **"The document could not be saved. Please check connection settings or contact your administrator."** ### **Environment** - **OnlyOffice Document Server:** Running in Docker locally. - **Callback Server:** Express.js server to handle callbacks. - **Frontend:** Angular application using the `@onlyoffice/document-editor-angular` package. - **Local IP:** `192.168.178.31`. ### **Relevant Configuration** Configuration used in the Angular component: `config: IConfig = { document: { "fileType": "docx", "key": "123456789abcdefghijkl", "title": "test.docx", "url": "https://domain.com/sample.docx", permissions: { edit: true } }, editorConfig: { lang: "en", mode: "edit", callbackUrl: "http://192.168.178.72:8082/files/save/callback.js", user: { name: "Editor Name", id: "userid-001" } } }`
Author
Owner

@hydrococcous commented on GitHub (Mar 21, 2025):

Image

<!-- gh-comment-id:2761116333 --> @hydrococcous commented on GitHub (Mar 21, 2025): ![Image](https://github.com/user-attachments/assets/ab8657ce-70d6-493d-98b0-17f4abee339c)
Author
Owner

@hydrococcous commented on GitHub (Mar 21, 2025):

Version: ubuntu/onlyoffice-documentserver 8.3.1-25

<!-- gh-comment-id:2761116335 --> @hydrococcous commented on GitHub (Mar 21, 2025): Version: ubuntu/onlyoffice-documentserver 8.3.1-25
Author
Owner

@nicolalandro commented on GitHub (May 2, 2025):

I have the same issue with container (I am on linux with podman, but it do the same with docker):

  • run the server podman run --rm -i -t -p 8000:80 -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
  • `podman exec XXXX sudo supervisorctl start ds:example
  • podman exec 8b0860b9f448 sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
  • go on localhost:8000 and press go to text example, then create a new document
    Image
  • Logs
==> /var/log/onlyoffice/documentserver/docservice/out.log <==
[2025-05-02T21:21:57.630] [ERROR] [localhost] [192.168.1.211new.docx1746220805863] [uid-11] nodeJS - postData error: url = http://localhost:8000/example/track?filename=new.docx&useraddress=192.168.1.211;data = {"key":"192.168.1.211new.docx1746220805863","status":4,"actions":[{"type":0,"userid":"uid-1"}]} Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address.
    at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
    at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21)
    at Socket.emit (node:events:527:28)
    at emitLookup (node:net:1075:12)
    at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28
    at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13
    at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19)
    at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
[2025-05-02T21:22:00.909] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - postData error: url = http://localhost:8000/example/track?filename=new%20(1).docx&useraddress=192.168.1.211;data = {"key":"192.168.1.211new__1_.docx1746220920273","status":1,"users":["uid-1"],"actions":[{"type":1,"userid":"uid-1"}]} Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address.
    at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
    at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21)
    at Socket.emit (node:events:527:28)
    at emitLookup (node:net:1075:12)
    at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28
    at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13
    at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19)
    at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)

==> /var/log/onlyoffice/documentserver/converter/out.log <==
[2025-05-02T21:22:00.927] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - error downloadFile:url=http://localhost:8000/example/download?fileName=new%20(1).docx&useraddress=192.168.1.211;attempt=1;code:null;connect:null Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address.
    at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
    at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21)
    at Socket.emit (node:events:527:28)
    at emitLookup (node:net:1075:12)
    at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28
    at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13
    at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19)
    at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
[2025-05-02T21:22:01.933] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - error downloadFile:url=http://localhost:8000/example/download?fileName=new%20(1).docx&useraddress=192.168.1.211;attempt=2;code:null;connect:null Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address.
    at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
    at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21)
    at Socket.emit (node:events:527:28)
    at emitLookup (node:net:1075:12)
    at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28
    at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13
    at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19)
    at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
[2025-05-02T21:22:02.939] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - error downloadFile:url=http://localhost:8000/example/download?fileName=new%20(1).docx&useraddress=192.168.1.211;attempt=3;code:null;connect:null Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address.
    at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
    at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21)
    at Socket.emit (node:events:527:28)
    at emitLookup (node:net:1075:12)
    at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28
    at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13
    at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19)
    at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)

==> /var/log/onlyoffice/documentserver/docservice/out.log <==
[2025-05-02T21:22:14.163] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-11] nodeJS - postData error: url = http://localhost:8000/example/track?filename=new%20(1).docx&useraddress=192.168.1.211;data = {"key":"192.168.1.211new__1_.docx1746220920273","status":4,"actions":[{"type":0,"userid":"uid-1"}]} Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address.
    at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
    at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21)
    at Socket.emit (node:events:527:28)
    at emitLookup (node:net:1075:12)
    at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28
    at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13
    at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19)
    at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)

<!-- gh-comment-id:2848173860 --> @nicolalandro commented on GitHub (May 2, 2025): I have the same issue with container (I am on linux with podman, but it do the same with docker): * run the server `podman run --rm -i -t -p 8000:80 -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver` * `podman exec XXXX sudo supervisorctl start ds:example * `podman exec 8b0860b9f448 sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf` * go on localhost:8000 and press go to text example, then create a new document ![Image](https://github.com/user-attachments/assets/bbabe421-51d4-4d6b-9e54-b5dd7f01aff4) * Logs ``` ==> /var/log/onlyoffice/documentserver/docservice/out.log <== [2025-05-02T21:21:57.630] [ERROR] [localhost] [192.168.1.211new.docx1746220805863] [uid-11] nodeJS - postData error: url = http://localhost:8000/example/track?filename=new.docx&useraddress=192.168.1.211;data = {"key":"192.168.1.211new.docx1746220805863","status":4,"actions":[{"type":0,"userid":"uid-1"}]} Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address. at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20) at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21) at Socket.emit (node:events:527:28) at emitLookup (node:net:1075:12) at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28 at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13 at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19) at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29) at processTicksAndRejections (node:internal/process/task_queues:78:11) [2025-05-02T21:22:00.909] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - postData error: url = http://localhost:8000/example/track?filename=new%20(1).docx&useraddress=192.168.1.211;data = {"key":"192.168.1.211new__1_.docx1746220920273","status":1,"users":["uid-1"],"actions":[{"type":1,"userid":"uid-1"}]} Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address. at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20) at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21) at Socket.emit (node:events:527:28) at emitLookup (node:net:1075:12) at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28 at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13 at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19) at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29) at processTicksAndRejections (node:internal/process/task_queues:78:11) ==> /var/log/onlyoffice/documentserver/converter/out.log <== [2025-05-02T21:22:00.927] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - error downloadFile:url=http://localhost:8000/example/download?fileName=new%20(1).docx&useraddress=192.168.1.211;attempt=1;code:null;connect:null Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address. at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20) at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21) at Socket.emit (node:events:527:28) at emitLookup (node:net:1075:12) at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28 at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13 at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19) at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29) at processTicksAndRejections (node:internal/process/task_queues:78:11) [2025-05-02T21:22:01.933] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - error downloadFile:url=http://localhost:8000/example/download?fileName=new%20(1).docx&useraddress=192.168.1.211;attempt=2;code:null;connect:null Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address. at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20) at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21) at Socket.emit (node:events:527:28) at emitLookup (node:net:1075:12) at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28 at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13 at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19) at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29) at processTicksAndRejections (node:internal/process/task_queues:78:11) [2025-05-02T21:22:02.939] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-1] nodeJS - error downloadFile:url=http://localhost:8000/example/download?fileName=new%20(1).docx&useraddress=192.168.1.211;attempt=3;code:null;connect:null Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address. at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20) at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21) at Socket.emit (node:events:527:28) at emitLookup (node:net:1075:12) at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28 at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13 at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19) at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29) at processTicksAndRejections (node:internal/process/task_queues:78:11) ==> /var/log/onlyoffice/documentserver/docservice/out.log <== [2025-05-02T21:22:14.163] [ERROR] [localhost] [192.168.1.211new__1_.docx1746220920273] [uid-11] nodeJS - postData error: url = http://localhost:8000/example/track?filename=new%20(1).docx&useraddress=192.168.1.211;data = {"key":"192.168.1.211new__1_.docx1746220920273","status":4,"actions":[{"type":0,"userid":"uid-1"}]} Error: DNS lookup 127.0.0.1(family:4, host:localhost) is not allowed. Because, It is private IP address. at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20) at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:88:21) at Socket.emit (node:events:527:28) at emitLookup (node:net:1075:12) at /snapshot/server/Common/node_modules/dnscache/lib/index.js:80:28 at /snapshot/server/Common/node_modules/dnscache/lib/cache.js:116:13 at RawTask.call (/snapshot/server/Common/node_modules/asap/asap.js:40:19) at flush (/snapshot/server/Common/node_modules/asap/raw.js:50:29) at processTicksAndRejections (node:internal/process/task_queues:78:11) ```
Author
Owner

@raikusy commented on GitHub (Oct 14, 2025):

Same issue! anyone able to solve?

<!-- gh-comment-id:3403307931 --> @raikusy commented on GitHub (Oct 14, 2025): Same issue! anyone able to solve?
Author
Owner

@matteo-costa commented on GitHub (Oct 31, 2025):

Hi, I was able to work around this by using the machine IP (192.168.X.Y) instead of localhost in the url. It seems to be needed only if the port chosen is not the default (80). This could help you @nicolalandro but it seems to have already been tried by the original poster

<!-- gh-comment-id:3472146690 --> @matteo-costa commented on GitHub (Oct 31, 2025): Hi, I was able to work around this by using the machine IP (192.168.X.Y) instead of localhost in the url. It seems to be needed only if the port chosen is not the default (80). This could help you @nicolalandro but it seems to have already been tried by the original poster
Author
Owner

@igwyd commented on GitHub (Nov 7, 2025):

@nicolalandro error with localhost because docker inside the container resolves to the localhost container's IP address, you should use IP address instead of localhost. About is not allowed. Because, It is private IP address - this is for security, you need use JWT in local network or disable private ip check (only for test environment) here:

      "request-filtering-agent": {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
      },

@avdddd1111 please check Angular test example when you have free time.

<!-- gh-comment-id:3502621822 --> @igwyd commented on GitHub (Nov 7, 2025): @nicolalandro error with `localhost` because docker inside the container resolves to the localhost container's IP address, you should use IP address instead of localhost. About `is not allowed. Because, It is private IP address` - this is for security, you need use JWT in local network or disable private ip check (only for test environment) [here](https://github.com/ONLYOFFICE/server/blob/318d81c02f60c11457929ce24d422cd2c0e2835f/Common/config/default.json#L461): ``` "request-filtering-agent": { "allowPrivateIPAddress": true, "allowMetaIPAddress": true }, ``` @avdddd1111 please check Angular test example when you have free time.
Author
Owner

@eunrui commented on GitHub (Nov 11, 2025):

@nicolalandro error with localhost because docker inside the container resolves to the localhost container's IP address, you should use IP address instead of localhost. About is not allowed. Because, It is private IP address - this is for security, you need use JWT in local network or disable private ip check (only for test environment) here:错误与 localhost 有关,因为容器内的 docker 会解析到 localhost 容器的 IP 地址,你应该使用 IP 地址而不是 localhost。关于 is not allowed. Because, It is private IP address - 这是为了安全起见,你需要在本地网络中使用 JWT 或在这里禁用私有 IP 检查(仅适用于测试环境):

      "request-filtering-agent": {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
      },

@avdddd1111 please check Angular test example when you have free time.请在空闲时查看 Angular 测试示例。

but how to add it? I add - ./local.json:/etc/onlyoffice/documentserver/local.json to volumes with docker-compose. Then show this error
Error: EBUSY: resource busy or locked, rename '/etc/onlyoffice/documentserver/.local.json-json-1004-1762831745996.tmp' when startup

<!-- gh-comment-id:3514878992 --> @eunrui commented on GitHub (Nov 11, 2025): > [@nicolalandro](https://github.com/nicolalandro) error with `localhost` because docker inside the container resolves to the localhost container's IP address, you should use IP address instead of localhost. About `is not allowed. Because, It is private IP address` - this is for security, you need use JWT in local network or disable private ip check (only for test environment) [here](https://github.com/ONLYOFFICE/server/blob/318d81c02f60c11457929ce24d422cd2c0e2835f/Common/config/default.json#L461):错误与 `localhost` 有关,因为容器内的 docker 会解析到 localhost 容器的 IP 地址,你应该使用 IP 地址而不是 localhost。关于 `is not allowed. Because, It is private IP address` - 这是为了安全起见,你需要在本地网络中使用 JWT 或在这里禁用私有 IP 检查(仅适用于测试环境): > > ``` > "request-filtering-agent": { > "allowPrivateIPAddress": true, > "allowMetaIPAddress": true > }, > ``` > > [@avdddd1111](https://github.com/avdddd1111) please check Angular test example when you have free time.请在空闲时查看 Angular 测试示例。 but how to add it? I add `- ./local.json:/etc/onlyoffice/documentserver/local.json` to volumes with docker-compose. Then show this error `Error: EBUSY: resource busy or locked, rename '/etc/onlyoffice/documentserver/.local.json-json-1004-1762831745996.tmp'` when startup
Author
Owner

@eunrui commented on GitHub (Nov 11, 2025):

@nicolalandro error with localhost because docker inside the container resolves to the localhost container's IP address, you should use IP address instead of localhost. About is not allowed. Because, It is private IP address - this is for security, you need use JWT in local network or disable private ip check (only for test environment) here:错误与 localhost 有关,因为容器内的 docker 会解析到 localhost 容器的 IP 地址,你应该使用 IP 地址而不是 localhost。关于 is not allowed. Because, It is private IP address - 这是为了安全起见,你需要在本地网络中使用 JWT 或在这里禁用私有 IP 检查(仅适用于测试环境):

      "request-filtering-agent": {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
      },

@avdddd1111 please check Angular test example when you have free time.请在空闲时查看 Angular 测试示例。

but how to add it? I add - ./local.json:/etc/onlyoffice/documentserver/local.json to volumes with docker-compose. Then show this error Error: EBUSY: resource busy or locked, rename '/etc/onlyoffice/documentserver/.local.json-json-1004-1762831745996.tmp' when startup

Sorry, I made a mistake about the name of json file. It works after change file to default.json.
Thanks, this answer really helped me out.

<!-- gh-comment-id:3514897383 --> @eunrui commented on GitHub (Nov 11, 2025): > > [@nicolalandro](https://github.com/nicolalandro) error with `localhost` because docker inside the container resolves to the localhost container's IP address, you should use IP address instead of localhost. About `is not allowed. Because, It is private IP address` - this is for security, you need use JWT in local network or disable private ip check (only for test environment) [here](https://github.com/ONLYOFFICE/server/blob/318d81c02f60c11457929ce24d422cd2c0e2835f/Common/config/default.json#L461):错误与 `localhost` 有关,因为容器内的 docker 会解析到 localhost 容器的 IP 地址,你应该使用 IP 地址而不是 localhost。关于 `is not allowed. Because, It is private IP address` - 这是为了安全起见,你需要在本地网络中使用 JWT 或在这里禁用私有 IP 检查(仅适用于测试环境): > > ``` > > "request-filtering-agent": { > > "allowPrivateIPAddress": true, > > "allowMetaIPAddress": true > > }, > > ``` > > > > > > > > > > [@avdddd1111](https://github.com/avdddd1111) please check Angular test example when you have free time.请在空闲时查看 Angular 测试示例。 > > but how to add it? I add `- ./local.json:/etc/onlyoffice/documentserver/local.json` to volumes with docker-compose. Then show this error `Error: EBUSY: resource busy or locked, rename '/etc/onlyoffice/documentserver/.local.json-json-1004-1762831745996.tmp'` when startup Sorry, I made a mistake about the name of json file. It works after change file to `default.json`. Thanks, this answer really helped me out.
Author
Owner

@igwyd commented on GitHub (Nov 11, 2025):

@eunrui instead of change config you can use docker variable ALLOW_PRIVATE_IP_ADDRESS and ALLOW_META_IP_ADDRESS, all available variables here.

<!-- gh-comment-id:3515052312 --> @igwyd commented on GitHub (Nov 11, 2025): @eunrui instead of change config you can use docker variable `ALLOW_PRIVATE_IP_ADDRESS` and `ALLOW_META_IP_ADDRESS`, all available variables [here](https://github.com/ONLYOFFICE/Docker-DocumentServer?tab=readme-ov-file#available-configuration-parameters).
Author
Owner

@th110 commented on GitHub (Nov 27, 2025):

I have added docker variable ALLOW_PRIVATE_IP_ADDRESS and ALLOW_META_IP_ADDRESS,but it doesnot work. I have also changed the file: default.json ,but also doesnot work.
I have two machines: 192.168.0.254(centos) and 192.168.0.9(windows), docker is running on 192.168.0.254, and 192.168.0.9 is a client, I can access the welcome page 'http://192.168.0.254:8080/welcome', but when i open a document, the same error occured

<!-- gh-comment-id:3584108959 --> @th110 commented on GitHub (Nov 27, 2025): I have added docker variable ALLOW_PRIVATE_IP_ADDRESS and ALLOW_META_IP_ADDRESS,but it doesnot work. I have also changed the file: default.json ,but also doesnot work. I have two machines: 192.168.0.254(centos) and 192.168.0.9(windows), docker is running on 192.168.0.254, and 192.168.0.9 is a client, I can access the welcome page 'http://192.168.0.254:8080/welcome', but when i open a document, the same error occured
Author
Owner

@igwyd commented on GitHub (Nov 27, 2025):

Please show the error, it should have changed.

<!-- gh-comment-id:3584265750 --> @igwyd commented on GitHub (Nov 27, 2025): Please show the error, it should have changed.
Author
Owner

@th110 commented on GitHub (Nov 27, 2025):

Image just 1hour ago, i choose to pull 8.3 version image and try again, the same problem
<!-- gh-comment-id:3584439607 --> @th110 commented on GitHub (Nov 27, 2025): <img width="695" height="415" alt="Image" src="https://github.com/user-attachments/assets/4c09e165-d255-4ce2-9ec0-5c2c92fce239" /> just 1hour ago, i choose to pull 8.3 version image and try again, the same problem
Author
Owner

@igwyd commented on GitHub (Nov 27, 2025):

I meant the error in the container logs. It's hard to tell what the issue is from the error in the browser.

<!-- gh-comment-id:3584508898 --> @igwyd commented on GitHub (Nov 27, 2025): I meant the error in the container logs. It's hard to tell what the issue is from the error in the browser.
Author
Owner

@th110 commented on GitHub (Nov 27, 2025):

sorry, here is the docservice/out.log:
[2025-11-27T06:49:31.787] [WARN] [localhost] [docId] [userId] nodeJS - Express server starting...
[2025-11-27T06:49:31.792] [WARN] [localhost] [docId] [userId] nodeJS - notifyLicenseExpiration(): expiration date is not defined
[2025-11-27T06:49:31.793] [WARN] [localhost] [docId] [userId] nodeJS - notifyLicenseExpiration(): expiration date is not defined
[2025-11-27T06:49:31.926] [WARN] [localhost] [docId] [userId] nodeJS - Express server listening on port 8000 in production-linux mode. Version: 8.3.3. Build: 18
[2025-11-27T06:49:33.906] [WARN] [localhost] [192.168.0.9new.docx1764225981311] [uid-1] nodeJS - error description: errorId = Other error
[2025-11-27T06:52:09.059] [ERROR] [localhost] [192.168.0.9new.xlsx1764226196355] [uid-1] nodeJS - postData error: url = http://192.168.0.254:8080/example/track?filename=new.xlsx&useraddress=192.168.0.9;data = {"key":"192.168.0.9new.xlsx1764226196355","status":1,"users":["uid-1"],"actions":[{"type":1,"userid":"uid-1"}],"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiIxOTIuMTY4LjAuOW5ldy54bHN4MTc2NDIyNjE5NjM1NSIsInN0YXR1cyI6MSwidXNlcnMiOlsidWlkLTEiXSwiYWN0aW9ucyI6W3sidHlwZSI6MSwidXNlcmlkIjoidWlkLTEifV0sImlhdCI6MTc2NDIyNjE5NiwiZXhwIjoxNzY0MjI2NDk2fQ.luoZwxDIN-iwemJQmz4kWtuToXO5Mxp2T6R89PnNUQU"} Error: connect ETIMEDOUT 192.168.0.254:8080
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16)
[2025-11-27T07:05:48.259] [ERROR] [localhost] [192.168.0.9new.xlsx1764226196355] [uid-1] nodeJS - postData error: url = http://192.168.0.254:8080/example/track?filename=new.xlsx&useraddress=192.168.0.9;data = {"key":"192.168.0.9new.xlsx1764226196355","status":1,"users":["uid-1"],"actions":[{"type":1,"userid":"uid-1"}],"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiIxOTIuMTY4LjAuOW5ldy54bHN4MTc2NDIyNjE5NjM1NSIsInN0YXR1cyI6MSwidXNlcnMiOlsidWlkLTEiXSwiYWN0aW9ucyI6W3sidHlwZSI6MSwidXNlcmlkIjoidWlkLTEifV0sImlhdCI6MTc2NDIyNzAxOSwiZXhwIjoxNzY0MjI3MzE5fQ.4Uvc4ACxzBYt3oCux8cJ-b_rPSLY2DWZDIUM1KbBIc0"} Error: connect ETIMEDOUT 192.168.0.254:8080
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16)
[2025-11-27T07:05:48.260] [ERROR] [localhost] [192.168.0.9new.xlsx1764226196355] [uid-11] nodeJS - postData error: url = http://192.168.0.254:8080/example/track?filename=new.xlsx&useraddress=192.168.0.9;data = {"key":"192.168.0.9new.xlsx1764226196355","status":4,"actions":[{"type":0,"userid":"uid-1"}],"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiIxOTIuMTY4LjAuOW5ldy54bHN4MTc2NDIyNjE5NjM1NSIsInN0YXR1cyI6NCwiYWN0aW9ucyI6W3sidHlwZSI6MCwidXNlcmlkIjoidWlkLTEifV0sImlhdCI6MTc2NDIyNzAxNiwiZXhwIjoxNzY0MjI3MzE2fQ.SEB38V_6TDwLO-Z-Z-6UhbBR96WA-I449dpqalO7ioc"} Error: connect ETIMEDOUT 192.168.0.254:8080
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16)

<!-- gh-comment-id:3584701173 --> @th110 commented on GitHub (Nov 27, 2025): sorry, here is the docservice/out.log: [2025-11-27T06:49:31.787] [WARN] [localhost] [docId] [userId] nodeJS - Express server starting... [2025-11-27T06:49:31.792] [WARN] [localhost] [docId] [userId] nodeJS - notifyLicenseExpiration(): expiration date is not defined [2025-11-27T06:49:31.793] [WARN] [localhost] [docId] [userId] nodeJS - notifyLicenseExpiration(): expiration date is not defined [2025-11-27T06:49:31.926] [WARN] [localhost] [docId] [userId] nodeJS - Express server listening on port 8000 in production-linux mode. Version: 8.3.3. Build: 18 [2025-11-27T06:49:33.906] [WARN] [localhost] [192.168.0.9new.docx1764225981311] [uid-1] nodeJS - error description: errorId = Other error [2025-11-27T06:52:09.059] [ERROR] [localhost] [192.168.0.9new.xlsx1764226196355] [uid-1] nodeJS - postData error: url = http://192.168.0.254:8080/example/track?filename=new.xlsx&useraddress=192.168.0.9;data = {"key":"192.168.0.9new.xlsx1764226196355","status":1,"users":["uid-1"],"actions":[{"type":1,"userid":"uid-1"}],"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiIxOTIuMTY4LjAuOW5ldy54bHN4MTc2NDIyNjE5NjM1NSIsInN0YXR1cyI6MSwidXNlcnMiOlsidWlkLTEiXSwiYWN0aW9ucyI6W3sidHlwZSI6MSwidXNlcmlkIjoidWlkLTEifV0sImlhdCI6MTc2NDIyNjE5NiwiZXhwIjoxNzY0MjI2NDk2fQ.luoZwxDIN-iwemJQmz4kWtuToXO5Mxp2T6R89PnNUQU"} Error: connect ETIMEDOUT 192.168.0.254:8080 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) [2025-11-27T07:05:48.259] [ERROR] [localhost] [192.168.0.9new.xlsx1764226196355] [uid-1] nodeJS - postData error: url = http://192.168.0.254:8080/example/track?filename=new.xlsx&useraddress=192.168.0.9;data = {"key":"192.168.0.9new.xlsx1764226196355","status":1,"users":["uid-1"],"actions":[{"type":1,"userid":"uid-1"}],"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiIxOTIuMTY4LjAuOW5ldy54bHN4MTc2NDIyNjE5NjM1NSIsInN0YXR1cyI6MSwidXNlcnMiOlsidWlkLTEiXSwiYWN0aW9ucyI6W3sidHlwZSI6MSwidXNlcmlkIjoidWlkLTEifV0sImlhdCI6MTc2NDIyNzAxOSwiZXhwIjoxNzY0MjI3MzE5fQ.4Uvc4ACxzBYt3oCux8cJ-b_rPSLY2DWZDIUM1KbBIc0"} Error: connect ETIMEDOUT 192.168.0.254:8080 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) [2025-11-27T07:05:48.260] [ERROR] [localhost] [192.168.0.9new.xlsx1764226196355] [uid-11] nodeJS - postData error: url = http://192.168.0.254:8080/example/track?filename=new.xlsx&useraddress=192.168.0.9;data = {"key":"192.168.0.9new.xlsx1764226196355","status":4,"actions":[{"type":0,"userid":"uid-1"}],"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiIxOTIuMTY4LjAuOW5ldy54bHN4MTc2NDIyNjE5NjM1NSIsInN0YXR1cyI6NCwiYWN0aW9ucyI6W3sidHlwZSI6MCwidXNlcmlkIjoidWlkLTEifV0sImlhdCI6MTc2NDIyNzAxNiwiZXhwIjoxNzY0MjI3MzE2fQ.SEB38V_6TDwLO-Z-Z-6UhbBR96WA-I449dpqalO7ioc"} Error: connect ETIMEDOUT 192.168.0.254:8080 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16)
Author
Owner

@igwyd commented on GitHub (Nov 27, 2025):

You have a connection error, the client cannot reach the server: Error: connect ETIMEDOUT 192.168.0.254:8080. There may be network issues or a firewall.

<!-- gh-comment-id:3584752191 --> @igwyd commented on GitHub (Nov 27, 2025): You have a connection error, the client cannot reach the server: ` Error: connect ETIMEDOUT 192.168.0.254:8080`. There may be network issues or a firewall.
Author
Owner

@th110 commented on GitHub (Nov 27, 2025):

I have run 'iptable -F' to chear firewall rules. Actually, i can access the page 192.168.0.254:8080/welcome, the connection error is strange

<!-- gh-comment-id:3584781441 --> @th110 commented on GitHub (Nov 27, 2025): I have run 'iptable -F' to chear firewall rules. Actually, i can access the page 192.168.0.254:8080/welcome, the connection error is strange
Author
Owner

@th110 commented on GitHub (Dec 2, 2025):

sorry, its my fault. After trying many times, i realized that the connection error may occur between container and docker host, not between browser and docker host. When i came into container, i can not ping docker host. So, i changed the docker network mode from 'bridge' to 'host', finally, it works.

<!-- gh-comment-id:3601139592 --> @th110 commented on GitHub (Dec 2, 2025): sorry, its my fault. After trying many times, i realized that the connection error may occur between container and docker host, not between browser and docker host. When i came into container, i can not ping docker host. So, i changed the docker network mode from 'bridge' to 'host', finally, it works.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Docker-DocumentServer-ONLYOFFICE#372
No description provided.