docker-compose部署onlyoffice8.3.0并支持ssl,且支持通过nginx代理,关闭JWT配置_onlyoffice 8.3 docker 部署
编写docker-compose文件
mkdir -p /data/onlyoffice && echo \"version: \'3\'services: onlyoffice: container_name: OnlyOffice image: onlyoffice/documentserver:8.3.0 restart: always ports: - 8088:80 - 64431:443 environment: TZ: Asia/Shanghai JWT_ENABLED: \'false\' volumes: - ./app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice - ./app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data - ./app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice - ./app/onlyoffice/DocumentServer/db:/var/lib/postgresql - ./certs:/etc/onlyoffice/certs - ./certs/ds.conf:/etc/onlyoffice/documentserver/nginx/ds.conf - ./default.json:/etc/onlyoffice/documentserver/default.json\" > /data/onlyoffice/docker-compose.yml && echo \'{ \"statsd\": { \"useMetrics\": false, \"host\": \"localhost\", \"port\": \"8125\", \"prefix\": \"ds.\" }, \"log\": { \"filePath\": \"\", \"options\": { \"replaceConsole\": true } }, \"queue\": { \"type\": \"rabbitmq\", \"visibilityTimeout\": 300, \"retentionPeriod\": 900 }, \"email\": { \"smtpServerConfiguration\": { \"host\": \"localhost\", \"port\": 587, \"auth\": { \"user\": \"\", \"pass\": \"\" } }, \"connectionConfiguration\": { \"disableFileAccess\": false, \"disableUrlAccess\": false }, \"contactDefaults\": { \"from\": \"from@example.com\", \"to\": \"to@example.com\" } }, \"notification\": { \"rules\": { \"licenseExpirationWarning\": { \"enable\": false, \"transportType\": [ \"email\" ], \"template\": { \"title\": \"%s Docs license expiration warning\", \"body\": \"Attention! Your license is about to expire on %s.\\nUpon reaching this date, you will no longer be entitled to receive personal technical support and install new Docs versions released after this date.\" }, \"policies\": { \"repeatInterval\": \"1d\" } }, \"licenseExpirationError\": { \"enable\": false, \"transportType\": [ \"email\" ], \"template\": { \"title\": \"%s Docs license expiration warning\", \"body\": \"Attention! Your license expired on %s.\\nYou are no longer entitled to receive personal technical support and install new Docs versions released after this date.\\nPlease contact sales@onlyoffice.com to discuss license renewal.\" }, \"policies\": { \"repeatInterval\": \"1d\" } }, \"licenseLimitEdit\": { \"enable\": false, \"transportType\": [ \"email\" ], \"template\": { \"title\": \"%s Docs license connection limit warning\", \"body\": \"Attention! You have reached %s%% of the %s limit set by your license.\" }, \"policies\": { \"repeatInterval\": \"1h\" } }, \"licenseLimitLiveViewer\": { \"enable\": false, \"transportType\": [ \"email\" ], \"template\": { \"title\": \"%s Docs license connection limit warning\", \"body\": \"Attention! You have reached %s%% of the live viewer %s limit set by your license.\" }, \"policies\": { \"repeatInterval\": \"1h\" } } } }, \"storage\": { \"name\": \"storage-fs\", \"fs\": { \"folderPath\": \"\", \"urlExpires\": 900, \"secretString\": \"verysecretstring\" }, \"region\": \"\", \"endpoint\": \"http://localhost/s3\", \"bucketName\": \"cache\", \"storageFolderName\": \"files\", \"cacheFolderName\": \"data\", \"urlExpires\": 604800, \"accessKeyId\": \"AKID\", \"secretAccessKey\": \"SECRET\", \"sslEnabled\": true, \"s3ForcePathStyle\": true, \"externalHost\": \"\" }, \"persistentStorage\": { }, \"rabbitmq\": { \"url\": \"amqp://localhost:5672\", \"socketOptions\": {}, \"exchangepubsub\": { \"name\": \"ds.pubsub\", \"options\": { \"durable\": true } }, \"queuepubsub\": { \"name\": \"\", \"options\": { \"autoDelete\": true, \"exclusive\": true, \"arguments\": { \"x-queue-type\": \"classic\" } } }, \"queueconverttask\": { \"name\": \"ds.converttask6\", \"options\": { \"durable\": true, \"maxPriority\": 6, \"arguments\": { \"x-queue-type\": \"classic\" } } }, \"queueconvertresponse\": { \"name\": \"ds.convertresponse\", \"options\": { \"durable\": true, \"arguments\": { \"x-queue-type\": \"classic\" } } }, \"exchangeconvertdead\": { \"name\": \"ds.exchangeconvertdead\", \"options\": { \"durable\": true } }, \"queueconvertdead\": { \"name\": \"ds.convertdead\", \"options\": { \"durable\": true, \"arguments\": { \"x-queue-type\": \"classic\" } } }, \"queuedelayed\": { \"name\": \"ds.delayed\", \"options\": { \"durable\": true, \"arguments\": { \"x-queue-type\": \"classic\" } } } }, \"activemq\": { \"connectOptions\": { \"port\": 5672, \"host\": \"localhost\", \"reconnect\": false }, \"queueconverttask\": \"ds.converttask\", \"queueconvertresponse\": \"ds.convertresponse\", \"queueconvertdead\": \"ActiveMQ.DLQ\", \"queuedelayed\": \"ds.delayed\", \"topicpubsub\": \"ds.pubsub\" }, \"dnscache\": { \"enable\" : true, \"ttl\" : 300, \"cachesize\" : 1000 }, \"openpgpjs\": { \"config\": { }, \"encrypt\": { \"passwords\": [\"verysecretstring\"] }, \"decrypt\": { \"passwords\": [\"verysecretstring\"] } }, \"aesEncrypt\": { \"config\": { \"keyByteLength\": 32, \"saltByteLength\": 64, \"initializationVectorByteLength\": 16, \"iterationsByteLength\": 5 }, \"secret\": \"verysecretstring\" }, \"bottleneck\": { \"getChanges\": { } }, \"win-ca\": { \"inject\": \"+\" }, \"wopi\": { \"enable\": false, \"host\" : \"\", \"htmlTemplate\" : \"../../web-apps/apps/api/wopi\", \"wopiZone\" : \"external-http\", \"favIconUrlWord\" : \"/web-apps/apps/documenteditor/main/resources/img/favicon.ico\", \"favIconUrlCell\" : \"/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico\", \"favIconUrlSlide\" : \"/web-apps/apps/presentationeditor/main/resources/img/favicon.ico\", \"favIconUrlPdf\" : \"/web-apps/apps/pdfeditor/main/resources/img/favicon.ico\", \"favIconUrlDiagram\" : \"/web-apps/apps/visioeditor/main/resources/img/favicon.ico\", \"fileInfoBlockList\" : [\"FileUrl\"], \"pdfView\": [\"djvu\", \"xps\", \"oxps\"], \"pdfEdit\": [\"pdf\"], \"forms\": [\"pdf\"], \"wordView\": [\"doc\", \"dotm\", \"dot\", \"fodt\", \"ott\", \"rtf\", \"mht\", \"mhtml\", \"html\", \"htm\", \"xml\", \"epub\", \"fb2\", \"sxw\", \"stw\", \"wps\", \"wpt\", \"pages\", \"docxf\", \"oform\"], \"wordEdit\": [\"docx\", \"dotx\", \"docm\", \"odt\", \"txt\"], \"cellView\": [\"xls\", \"xlsb\", \"xltm\", \"xlt\", \"fods\", \"ots\", \"sxc\", \"xml\", \"et\", \"ett\", \"numbers\"], \"cellEdit\": [\"xlsx\", \"xltx\", \"xlsm\", \"ods\", \"csv\"], \"slideView\": [\"ppt\", \"ppsx\", \"ppsm\", \"pps\", \"potm\", \"pot\", \"fodp\", \"otp\", \"sxi\", \"dps\", \"dpt\", \"key\"], \"slideEdit\": [\"pptx\", \"potx\", \"pptm\", \"odp\"], \"diagramView\": [], \"diagramEdit\": [], \"publicKey\": \"\", \"modulus\": \"\", \"exponent\": 65537, \"privateKey\": \"\", \"publicKeyOld\": \"\", \"modulusOld\": \"\", \"exponentOld\": 65537, \"privateKeyOld\": \"\", \"refreshLockInterval\": \"10m\", \"dummy\" : { \"enable\": false, \"sampleFilePath\": \"\" } }, \"tenants\": { \"baseDir\": \"\", \"baseDomain\": \"\", \"filenameConfig\": \"config.json\", \"filenameSecret\": \"secret.key\", \"filenameLicense\": \"license.lic\", \"defaultTenant\": \"localhost\", \"cache\" : { \"stdTTL\": 300, \"checkperiod\": 60, \"useClones\": false } }, \"externalRequest\": { \"directIfIn\" : { \"allowList\": [], \"jwtToken\": true }, \"action\": { \"allow\": true, \"blockPrivateIP\": true, \"proxyUrl\": \"\", \"proxyUser\": { \"username\": \"\", \"password\": \"\" }, \"proxyHeaders\": { } } }, \"services\": { \"CoAuthoring\": { \"server\": { \"port\": 8000, \"workerpercpu\": 1, \"mode\": \"development\", \"limits_tempfile_upload\": 104857600, \"limits_image_size\": 26214400, \"limits_image_download_timeout\": { \"connectionAndInactivity\": \"2m\", \"wholeCycle\": \"2m\" }, \"callbackRequestTimeout\": { \"connectionAndInactivity\": \"10m\", \"wholeCycle\": \"10m\" }, \"healthcheckfilepath\": \"../public/healthcheck.docx\", \"savetimeoutdelay\": 5000, \"edit_singleton\": false, \"forgottenfiles\": \"forgotten\", \"forgottenfilesname\": \"output\", \"maxRequestChanges\": 20000, \"openProtectedFile\": true, \"isAnonymousSupport\": true, \"editorDataStorage\": \"editorDataMemory\", \"editorStatStorage\": \"\", \"assemblyFormatAsOrigin\": true, \"newFileTemplate\" : \"../../document-templates/new\", \"downloadFileAllowExt\": [\"pdf\", \"xlsx\"], \"tokenRequiredParams\": true, \"forceSaveUsingButtonWithoutChanges\": false }, \"requestDefaults\": { \"headers\": { \"User-Agent\": \"Node.js/6.13\", \"Connection\": \"Keep-Alive\" }, \"gzip\": true, \"rejectUnauthorized\": true }, \"autoAssembly\": { \"enable\": false, \"interval\": \"5m\", \"step\": \"1m\" }, \"utils\": { \"utils_common_fontdir\": \"null\", \"utils_fonts_search_patterns\": \"*.ttf;*.ttc;*.otf\", \"limits_image_types_upload\": \"jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif\" }, \"sql\": { \"type\": \"postgres\", \"tableChanges\": \"doc_changes\", \"tableResult\": \"task_result\", \"dbHost\": \"localhost\", \"dbPort\": 5432, \"dbName\": \"onlyoffice\", \"dbUser\": \"onlyoffice\", \"dbPass\": \"onlyoffice\", \"charset\": \"utf8\", \"connectionlimit\": 10, \"max_allowed_packet\": 1048575, \"pgPoolExtraOptions\": { \"idleTimeoutMillis\": 30000, \"maxLifetimeSeconds \": 60000, \"statement_timeout \": 60000, \"query_timeout \": 60000, \"connectionTimeoutMillis\": 60000 }, \"damengExtraOptions\": { \"columnNameUpperCase\": false, \"columnNameCase\": \"lower\", \"connectTimeout\": 60000, \"loginEncrypt\": false, \"localTimezone\": 0, \"poolTimeout\": 60, \"socketTimeout\": 60000, \"queueTimeout\": 60000 }, \"oracleExtraOptions\": { \"connectTimeout\": 60 }, \"msSqlExtraOptions\": { \"options\": { \"encrypt\": false, \"trustServerCertificate\": true }, \"pool\": { \"idleTimeoutMillis\": 30000 } }, \"mysqlExtraOptions\": { \"connectTimeout\": 60000, \"queryTimeout\": 60000 } }, \"redis\": { \"name\": \"redis\", \"prefix\": \"ds:\", \"host\": \"127.0.0.1\", \"port\": 6379, \"options\": {}, \"optionsCluster\": {}, \"iooptions\": { \"lazyConnect\": true }, \"iooptionsClusterNodes\": [ ], \"iooptionsClusterOptions\": { \"lazyConnect\": true } }, \"pubsub\": { \"maxChanges\": 1000 }, \"expire\": { \"saveLock\": 60, \"presence\": 300, \"locks\": 604800, \"changeindex\": 86400, \"lockDoc\": 30, \"message\": 86400, \"lastsave\": 604800, \"forcesave\": 604800, \"forcesaveLock\": 5000, \"saved\": 3600, \"documentsCron\": \"0 */2 * * * *\", \"files\": 86400, \"filesCron\": \"00 00 */1 * * *\", \"filesremovedatonce\": 100, \"sessionidle\": \"1h\", \"sessionabsolute\": \"30d\", \"sessionclosecommand\": \"2m\", \"pemStdTTL\": \"1h\", \"pemCheckPeriod\": \"10m\", \"updateVersionStatus\": \"5m\", \"monthUniqueUsers\": \"1y\" }, \"ipfilter\": { \"rules\": [{\"address\": \"*\", \"allowed\": true}], \"useforrequest\": false, \"errorcode\": 403 }, \"request-filtering-agent\" : { \"allowPrivateIPAddress\": true, \"allowMetaIPAddress\": true }, \"secret\": { \"browser\": {\"string\": \"secret\", \"file\": \"\"}, \"inbox\": {\"string\": \"secret\", \"file\": \"\"}, \"outbox\": {\"string\": \"secret\", \"file\": \"\"}, \"session\": {\"string\": \"secret\", \"file\": \"\"} }, \"token\": { \"enable\": { \"browser\": false, \"request\": { \"inbox\": false, \"outbox\": false } }, \"browser\": { \"secretFromInbox\": true }, \"inbox\": { \"header\": \"Authorization\", \"prefix\": \"Bearer \", \"inBody\": false }, \"outbox\": { \"header\": \"Authorization\", \"prefix\": \"Bearer \", \"algorithm\": \"HS256\", \"expires\": \"5m\", \"inBody\": false, \"urlExclusionRegex\": \"\" }, \"session\": { \"algorithm\": \"HS256\", \"expires\": \"30d\" }, \"verifyOptions\": { \"clockTolerance\": 60 } }, \"plugins\": { \"uri\": \"/sdkjs-plugins\", \"autostart\": [] }, \"themes\": { \"uri\": \"/web-apps/apps/common/main/resources/themes\" }, \"editor\":{ \"spellcheckerUrl\": \"\", \"reconnection\":{ \"attempts\": 50, \"delay\": \"2s\" }, \"binaryChanges\": false, \"websocketMaxPayloadSize\": \"1.5MB\", \"maxChangesSize\": \"150MB\" }, \"sockjs\": { \"sockjs_url\": \"\", \"disable_cors\": true, \"websocket\": true }, \"socketio\": { \"connection\": { \"path\": \"/doc/\", \"serveClient\": false, \"pingTimeout\": 20000, \"pingInterval\": 25000, \"maxHttpBufferSize\": 1e8 } }, \"callbackBackoffOptions\": { \"retries\": 0, \"timeout\":{ \"factor\": 2, \"minTimeout\": 1000, \"maxTimeout\": 2147483647, \"randomize\": false }, \"httpStatus\": \"429,500-599\" } } }, \"license\" : { \"license_file\": \"\", \"warning_limit_percents\": 70, \"packageType\": 0, \"warning_license_expiration\": \"30d\" }, \"FileConverter\": { \"converter\": { \"maxDownloadBytes\": 104857600, \"downloadTimeout\": { \"connectionAndInactivity\": \"2m\", \"wholeCycle\": \"2m\" }, \"downloadAttemptMaxCount\": 3, \"downloadAttemptDelay\": 1000, \"maxprocesscount\": 1, \"fontDir\": \"null\", \"presentationThemesDir\": \"null\", \"x2tPath\": \"null\", \"docbuilderPath\": \"null\", \"args\": \"\", \"spawnOptions\": {}, \"errorfiles\": \"\", \"streamWriterBufferSize\": 8388608, \"maxRedeliveredCount\": 2, \"inputLimits\": [ { \"type\": \"docx;dotx;docm;dotm\", \"zip\": { \"uncompressed\": \"50MB\", \"template\": \"*.xml\" } }, { \"type\": \"xlsx;xltx;xlsm;xltm\", \"zip\": { \"uncompressed\": \"300MB\", \"template\": \"*.xml\" } }, { \"type\": \"pptx;ppsx;potx;pptm;ppsm;potm\", \"zip\": { \"uncompressed\": \"50MB\", \"template\": \"*.xml\" } } ] } }}\' > /data/onlyoffice/default.json && mkdir -p /data/onlyoffice/certs && cd /data/onlyoffice/certs && echo \'include /etc/nginx/includes/http-common.conf;server { listen 0.0.0.0:80; listen [::]:80 default_server; server_tokens off; set $secure_link_secret ; include /etc/nginx/includes/ds-*.conf;}server { listen 443 ssl; listen [::]:443; server_name localhost; ssl_certificate /etc/onlyoffice/certs/onlyoffice.crt; ssl_certificate_key /etc/onlyoffice/certs/onlyoffice.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; server_tokens off; set $secure_link_secret ; include /etc/nginx/includes/ds-*.conf;}\' > ds.conf && echo \'-----BEGIN CERTIFICATE-----MIIFATCCA+mgAwIBAgISBCJAwtsL2l5x1rHhX7tj3dytMA0GCSqGSIb3DQEBCwUAMDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQDEwNSMTAwHhcNMjUwMTE2MDUxMDM5WhcNMjUwNDE2MDUxMDM4WjAZMRcwFQYDVQQDEw5scDIwNzY2MzQzNi5jbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANZ912eyDY9WHTQSlFyGQwhPCGwZQxsjyFv0fH8X0g/J8GGTdq0R/Qsa8wsdem7/xQju3U1NhnWqWLPl4jG2EYjGqbp60vDlXIBOmdQ4LoGPHNT7x0oVH/PGKYcqcu2QdohKgNJ54v+CCEDuVeyyP6bfgsVdO2fgHovPsQXgia4m1XoxOdluDN16LCO7CTv4eJ/eKjEcO66yNOSAw7wExdnhi3RYmy/KEdp1ItM3fGgSeY/K5oNls4Y0A+5N9N8R6XaPacfdH1Dp2pSDTItUIADaI8yWloN6rlOXnuLB5BfLg1ByN8Eq7POmJWN+WQvgoFRjCgIcPoOowcY4oW6Jy/8CAwEAAaOCAicwggIjMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUaqd4GOj2VxUBxkYshYNSqNhe3pwwHwYDVR0jBBgwFoAUu7zDR6XkvKnGw6RyDBCNojXhyOgwVwYIKwYBBQUHAQEESzBJMCIGCCsGAQUFBzABhhZodHRwOi8vcjEwLm8ubGVuY3Iub3JnMCMGCCsGAQUFBzAChhdodHRwOi8vcjEwLmkubGVuY3Iub3JnLzAvBgNVHREEKDAmghRpbm5lci5scDIwNzY2MzQzNi5jboIObHAyMDc2NjM0MzYuY24wEwYDVR0gBAwwCjAIBgZngQwBAgEwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQDM+w9qhXEJZf6Vm1PO6bJ8IumFXA2XjbapflTA/kwNsAAAAZRtutu9AAAEAwBGMEQCICGcbaLk28GCrCkA6XsasJgUp/L1Q+DgYxVJ3mOGUk/bAiAx23T2HavM+Pa9OJi6hEksz8ASJ68juphzpZzs+/Q87gB2ABNK3xq1mEIJeAxv70x6kaQWtyNJzlhXat+u2qfCq+AiAAABlG263FIAAAQDAEcwRQIgfBTRf/3Ze4gtcI4UEdP9sm8TALJFjwTD0isvqCyvqoUCIQD/i3a3tuDoDhDkq7dnEO2JYf8UcDmzSyvp7AsE36V1ZDANBgkqhkiG9w0BAQsFAAOCAQEAvP3SQRQu7sl9ofnBUX8lK/tjDt8Q1tVblr2NqxYTZGV6lGIEX5up/lnf06swyVor0XKxenkTLJFJJbLgJY4xL5I+neom4knWr5dWBiggsoEuhaRTYIbVcVACLz2DW7ek+1nn4xpMEXT9lFNsew982plInINalj9li/Kg3PEg6KoKCf9hgNkEN3tMkWHUPzu5x0GQPYerR0U61bDhyHX9DKQYqvrPCMCBSjf72aH2TQQSgpAgVflBAFRPVuBoO4+iLf/O6l+cLGjvsvry+xdJ7RE2gsqu1UlsM2pvisOalHzm3CiinJpwEHBHUpDPA7WfAujt8SiCK3rS/VIBOUXWsA==-----END CERTIFICATE----------BEGIN CERTIFICATE-----MIIFBTCCAu2gAwIBAgIQS6hSk/eaL6JzBkuoBI110DANBgkqhkiG9w0BAQsFADBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBaFw0yNzAzMTIyMzU5NTlaMDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQDEwNSMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPV+XmxFQS7bRH/sknWHZGUCiMHT6I3wWd1bUYKb3dtVq/+vbOo76vACFLYlpaPAEvxVgD9on/jhFD68G14BQHlo9vH9fnuoE5CXVlt8KvGFs3Jijno/QHK20a/6tYvJWuQP/py1fEtVt/eA0YYbwX51TGu0mRzW4Y0YCF7qZlNrx06rxQTOr8IfM4FpOUurDTazgGzRYSespSdcitdrLCnF2YRVxvYXvGLe48E1KGAdlX5jgc3421H5KRmudKHMxFqHJV8LDmowfs/acbZp4/SItxhHFYyTr6717yW0QrPHTnj7JHwQdqzZq3DZb3EoEmUVQK7GH29/Xi8orIlQ2NAgMBAAGjgfgwgfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS7vMNHpeS8qcbDpHIMEI2iNeHI6DAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0gBAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVuY3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAkrHnQTfreZ2B5s3iJeE6IOmQRJWjgVzPw139vaBw1bGWKCIL0vIozwzn1OZDjCQiHcFCktEJr59L9MhwTyAWsVrdAfYf+B9haxQnsHKNY67u4s5Lzzfdu6PUzeetUK29v+PsPmI2cJkxp+iN3epi4hKu9ZzUPSwMqtCceb7qPVxEbpYxY1p91n5PJKBLBX9eb9LU6l8zSxPWV7bK3lG4XaMJgnT9x3ies7msFtpKK5bDtotij/l0GaKeA97pb5uwD9KgWvaFXMIEt8jVTjLEvwRdvCn294GPDF08U8lAkIv7tghluaQh1QnlE4SEN4LOECj8dsIGJXpGUk3aU3KkJz9icKy+aUgA+2cP21uh6NcDIS3XyfaZQjmDQ993ChII8SXWupQZVBiIpcWO4RqZk3lr7Bz5MUCwzDIA359e57SSq5CCkY0N4B6Vulk7LktfwrdGNVI5BsC9qqxSwSKgRJeZ9wygIaehbHFHFhcBaMDKpiZlBHyzrsnnlFXCb5s8HKn5LsUgGvB24L7sGNZP2CX7dhHov+YhD+jozLW2p9W4959Bz2EiRmqDtmiXLnzqTpXbI+suyCsohKRg6Un0RC47+cpiVwHiXZAW+cn8eiNIjqbVgXLxKPpdzvvtTnOPlC7SQZSYmdunr3Bf9b77AiC/ZidstK36dRILKz7OA54=-----END CERTIFICATE-----\' > onlyoffice.crt && echo \'-----BEGIN PRIVATE KEY-----MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDWfddnsg2PVh00EpRchkMITwhsGUMbI8hb9Hx/F9IPyfBhk3atEf0LGvMLHXpu/8UI7t1NTYZ1qliz5eIxthGIxqm6etLw5VyATpnUOC6BjxzU+8dKFR/zximHKnLtkHaISoDSeeL/gghA7lXssj+m34LFXTtn4B6Lz7EF4ImuJtV6MTnZbgzdeiwjuwk7+Hif3ioxHDuusjTkgMO8BMXZ4Yt0WJsvyhHadSLTN3xoEnmPyuaDZbOGNAPuTfTfEel2j2nH3R9Q6dqUg0yLVCAA2iPMlpaDeq5Tl57iweQXy4NQcjfBKuzzpiVjflkL4KBUYwoCHD6DqMHGOKFuicv/AgMBAAECggEAURHWUTS8qFEJj614EvKSMnlAuy7fLMpdB9iEF7tmo54Vc6P7ZpXWeRSSCUD2ji6xB9vUnEuxhxbAGRrJ4DUrMnG4JCoZQYDHch2DSfGELmbrpFqXrBoI7igXeSWjs8P28TOLtkHoeN9qhDQxGNoUcdun/zXqZqwQj5KMG6cPEtmcMTn2lbqihLkw12Ujjvh9x1blOKfWf6g/+GPLMFGSMgBxNSsBNUcdOUnpBLwo6c/vtsZtpvVf5Eds9dT7ak2FszM2l9J8MAsbhEmMZZ3gEL5014plu6+ScDIhm68nmeKyM2DDGCBgV74HV+NIkDqOx4O45hhO1MX5z6+b2YfVGQKBgQD6Kv/vCcXjvNgRy3RrSP3hALlXfddNHHEpe5xN68obLmOjI6CF5Tng2iNtgQshocbBBZLdIRdyU5RCbfnADah3qNKuNRPBHQdRen3hC30TcD9zm/Il9plZDa8/v4mct6IoNl1MP4PKX2XcpYwcpcIkZlD2Kv2NL0rJ/mf/Ru1XpwKBgQDbfezcn7ixoxqKKYAa7sxDfLjEIfsiWApTRESgGkABJr/Q4+KvTxjQMgtF35VgRJLxgOkurGQVXwJRLI4W4qFkcYu/Xv9rVTTnZJjRtFP69p1JXPtNKwLOdQDE5Ysz8MOXtxRE5iuPsYf4mzGkEWHXcHndynJ7w1hNsqUSUVNz6QKBgQDJotTsfy0QVUq2dQ1d19RBgcrhmR1rGqyfKfGe4Jji9a37dSDSKyNOd6Qsg+FL90/yjiKEt0JltLYAIRI3WQrbf6hoH4HPmi0m4BsLw63JeCS8cwpmzO9m1t/U+vXY6i36SW9DoMIB4IiCorBe+r+ThSBmedop7N9UFgkOucVdawKBgQDHzx6syQnNS/mBBL6FxhVU6lkY0wZXAWaE3oTKapsRcUD03D8j8BFalfQFK8BD3qkWCJA92NlTSyZE1xaSZsUdNvBMyiIih3KdosorPMmmkJImkuqCGUF4yLJmi7/pDKhBmHxvLElDig2Jl13dSaWUBeQqr30AhZgBQztaLYaW4QKBgQDMz2HWZ/Iqny9o9cadjjiNsdvtxrdGxbI9F4CEfRw1TQ2+OtH8GxnbExeGayZMDWZ6yEAYd/DppcnI/IyWYTtWw8js44D+AAMH2rrR+cst3kSrORVdYryWoCWDMw03MUpDwzWuLmZAqBGnLw4Cm2Kt/wvsjQiG97ITT0i8zRl0Yg==-----END PRIVATE KEY-----\' > onlyoffice.key && cd ..docker-compose up -d
进入容器后的操作
docker exec -it OnlyOffice bash
获取到对应的秘钥字符串
cat /etc/onlyoffice/documentserver/local.json## 将获取到的下面的secretString中的字符串记录好,后面的操作会用到\"storage\": { \"fs\": { \"secretString\": \"xxxxx\" } }
赋值上面的数据(xxxxx替换为对应的字符)
sed -i \'s#set $secure_link_secret ;#set $secure_link_secret xxxxx;#g\' /etc/nginx/conf.d/ds.conf && nginx
nginx代理
此时直接通过http://ip:8088或通过https://ip:64431都可以成功访问,下面是通过nginx做https代理的方法,http的代理同样的操作
location /web-apps/apps/api { proxy_pass https://localhost:64431; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \"Upgrade\"; } location /8.3.0 { proxy_pass https://localhost:64431; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \"Upgrade\"; } location /cache/files/data { proxy_pass https://localhost:64431; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \"Upgrade\"; }
我的服务器ip是192.168.14.184,可以创建html测试是否能成功预览,其中http://192.168.14.205:20020/software/cd46a0fab3614d7d8519ec58b5672529.docx需要更改成自己可下载的文件地址
<!DOCTYPE html><html style=\"height: 100%;\"><head> <title>ONLYOFFICE Api Documentation</title></head><body style=\"height: 100%; margin: 0;\"> <div id=\"placeholder\" style=\"height: 100%\"></div> <script type=\"text/javascript\" src=\"https://192.168.14.184/web-apps/apps/api/documents/api.js\"></script> <script type=\"text/javascript\"> let editorConfig = { \"secret\":\"kg3Zrcx8Rg4DEuQH83jrUpPMy7svxOGJ\", \"lang\": \"zh-CN\",//设置ONLYOFFICE编辑器语言为中文 //保存文档时最终的回调接口,用于保存在线编辑的文件到存储 //\"callbackUrl\": \"http://192.168.2.62:24005/prod-api/file/upload\", \"lang\": \"zh-CN\",//设置ONLYOFFICE编辑器语言为中文 \"mode\": \"edit\",//设置只读时使用的配置,不加则默认表示允许编辑(只读时不需要填不加callbackUrl配置) \"customization\": { \"anonymous\": { // set name for anonymous user \"request\": false, // enable set name \"label\": \"aaa\" // postfix for user name }, }, user: { id: \'1232\', name: \'夏XX\', group: \'group name\' // for customization.reviewPermissions or permissions.reviewGroups or permissions.commentGroups. Can be multiple groups separated by commas (,) : \'Group1\' or \'Group1,Group2\' }, } /* ONLYOFFICE编辑器有三种主要外观,针对不同用途进行了优化,可通过type属性予以配置: desktop,针对桌面计算机浏览器中的显示进行了优化; mobile,针对移动设备浏览器中的显示进行了优化; embedded,针对将文档嵌入网页进行了优化。 */ window.docEditor = new DocsAPI.DocEditor(\"placeholder\", { \"document\": { type: \"embedded\",//编辑器外观, \"fileType\": \"docx\", \"key\": \"2\", \"title\": \"3TR069.xlsx\", \"url\": \"http://192.168.14.205:20020/software/cd46a0fab3614d7d8519ec58b5672529.docx\" }, \"documentType\": \"word\", \"editorConfig\": { \"mode\": \"view\" }, \"height\": \"100%\", \"width\": \"100%\", editorConfig: editorConfig }); </script></body></html>
预览截图