SslEnabled preventing Docker container from starting server

124 views
Skip to first unread message

Chris Chan

unread,
Apr 11, 2020, 6:16:46 PM4/11/20
to Orthanc Users
Hello all,

I'm trying to enable SSL by following this part of the Orthanc Book: https://book.orthanc-server.com/faq/https.html#https-builtin
However, when I changed the "SslEnabled" flag to "true" in my orthanc.json configuration, my server will no longer start up.
This is the only option that I've changed in the default configuration file.
It may be worth noting that I am trying to run using the jodogne/orthanc-plugins Docker image.

My terminal:

$ docker run -p 8042:8042 --rm -v $(pwd)/orthanc.json:/etc/orthanc/orthanc.json:ro -v $(pwd)/certificate.pem:/etc/orthanc/certificate.pem:ro jodogne/orthanc-plugins

W0411 22:11:05.980348 main.cpp:1613] Orthanc version: mainline (20200331T142418)
W0411 22:11:05.982328 OrthancConfiguration.cpp:113] Scanning folder "/etc/orthanc/" for configuration files
W0411 22:11:05.984532 OrthancConfiguration.cpp:61] Reading the configuration from: "/etc/orthanc/orthanc.json"
W0411 22:11:06.533667 main.cpp:791] Loading plugin(s) from: /usr/share/orthanc/plugins
E0411 22:11:06.533776 PluginsManager.cpp:242] Inexistent path to plugins: /usr/share/orthanc/plugins
W0411 22:11:06.533870 main.cpp:791] Loading plugin(s) from: /usr/local/share/orthanc/plugins
W0411 22:11:06.536369 PluginsManager.cpp:269] Registering plugin 'connectivity-checks' (version mainline)
W0411 22:11:06.537866 PluginsManager.cpp:269] Registering plugin 'worklists' (version mainline)
W0411 22:11:06.537931 PluginsManager.cpp:168] Sample worklist plugin is initializing
W0411 22:11:06.539512 PluginsManager.cpp:168] Worklist server is disabled by the configuration file
W0411 22:11:06.540932 PluginsManager.cpp:269] Registering plugin 'serve-folders' (version mainline)
W0411 22:11:06.541904 PluginsManager.cpp:168] ServeFolders: Empty configuration file: No additional folder will be served!
W0411 22:11:06.544307 PluginsManager.cpp:269] Registering plugin 'wsi' (version mainline)
W0411 22:11:06.544442 PluginsManager.cpp:168] The whole-slide imaging plugin will use at most 2 threads to transcode the tiles
W0411 22:11:06.547081 PluginsManager.cpp:269] Registering plugin 'mysql-index' (version mainline)
W0411 22:11:06.549998 PluginsManager.cpp:168] No available configuration for the MySQL index plugin
W0411 22:11:06.567657 PluginsManager.cpp:269] Registering plugin 'dicom-web' (version mainline)
W0411 22:11:06.570353 PluginsManager.cpp:168] URI to the DICOMweb REST API: /dicom-web/
W0411 22:11:06.571474 PluginsManager.cpp:168] URI to the WADO-URI API: /wado
W0411 22:11:06.602620 PluginsManager.cpp:269] Registering plugin 'web-viewer' (version mainline)
W0411 22:11:06.602736 PluginsManager.cpp:168] Initializing the Web viewer
W0411 22:11:06.603634 PluginsManager.cpp:168] Web viewer using 1 threads for the decoding of the DICOM images
W0411 22:11:06.603826 PluginsManager.cpp:168] Storing the cache of the Web viewer in folder: /var/lib/orthanc/db/WebViewerCache
W0411 22:11:06.652646 PluginsManager.cpp:168] The version of Orthanc has changed from "unknown" to "mainline": The cache of the Web viewer will be cleared
W0411 22:11:06.652842 PluginsManager.cpp:168] The version of the Web viewer plugin has changed from "unknown" to "mainline": The cache of the Web viewer will be cleared
W0411 22:11:06.653492 PluginsManager.cpp:168] Clearing the cache of the Web viewer
W0411 22:11:06.654770 PluginsManager.cpp:168] Web viewer using a cache of 100 MB
W0411 22:11:06.654859 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc
W0411 22:11:06.660211 PluginsManager.cpp:269] Registering plugin 'postgresql-storage' (version mainline)
W0411 22:11:06.661510 PluginsManager.cpp:168] No available configuration for the PostgreSQL storage area plugin
W0411 22:11:06.664010 PluginsManager.cpp:269] Registering plugin 'mysql-storage' (version mainline)
W0411 22:11:06.667323 PluginsManager.cpp:168] No available configuration for the MySQL storage area plugin
W0411 22:11:06.669186 PluginsManager.cpp:269] Registering plugin 'authorization' (version mainline)
W0411 22:11:06.669295 PluginsManager.cpp:168] Initializing the authorization plugin
W0411 22:11:06.670154 PluginsManager.cpp:168] No section "Authorization" in the configuration file, the authorization plugin is disabled
W0411 22:11:06.673921 PluginsManager.cpp:269] Registering plugin 'postgresql-index' (version mainline)
W0411 22:11:06.675192 PluginsManager.cpp:168] No available configuration for the PostgreSQL index plugin
W0411 22:11:06.678134 PluginsManager.cpp:269] Registering plugin 'transfers' (version mainline)
W0411 22:11:06.679324 OrthancInitialization.cpp:301] SQLite index directory: "/var/lib/orthanc/db"
W0411 22:11:06.680509 OrthancInitialization.cpp:376] Storage directory: "/var/lib/orthanc/db"
W0411 22:11:06.695866 HttpClient.cpp:1066] HTTPS will use the CA certificates from this file: /etc/orthanc/
W0411 22:11:06.698921 LuaContext.cpp:104] Lua says: Lua toolbox installed
W0411 22:11:06.699540 LuaContext.cpp:104] Lua says: Lua toolbox installed
W0411 22:11:06.700443 ServerContext.cpp:327] Disk compression is disabled
W0411 22:11:06.700526 ServerIndex.cpp:1636] No limit on the number of stored patients
W0411 22:11:06.700916 ServerIndex.cpp:1653] No limit on the size of the storage area
W0411 22:11:06.705846 JobsEngine.cpp:283] The jobs engine has started with 2 threads
W0411 22:11:06.712954 main.cpp:1097] DICOM server listening with AET ORTHANC on port: 4242
W0411 22:11:06.713680 HttpServer.cpp:1282] HTTP compression is enabled
W0411 22:11:06.713812 main.cpp:937] Remote access is allowed but "AuthenticationEnabled" is not in the configuration, automatically enabling HTTP authentication for security
W0411 22:11:06.713875 main.cpp:963] ====> HTTP authentication is enabled, but no user is declared. Creating a default user: Review your configuration option "RegisteredUsers". Your setup is INSECURE <====
W0411 22:11:06.714187 main.cpp:1000] Remote LUA script execution is disabled
E0411 22:11:06.714771 OrthancException.h:86] The TCP port of the HTTP server is privileged or already in use:  (port = 8042)
W0411 22:11:07.829363 main.cpp:1113]     DICOM server has stopped
E0411 22:11:07.829534 ServerContext.cpp:280] INTERNAL ERROR: ServerContext::Stop() should be invoked manually to avoid mess in the destruction order!
W0411 22:11:08.118592 JobsEngine.cpp:324] The jobs engine has stopped
W0411 22:11:08.228584 PluginsManager.cpp:219] Unregistering plugin 'authorization' (version mainline)
W0411 22:11:08.239237 PluginsManager.cpp:219] Unregistering plugin 'connectivity-checks' (version mainline)
W0411 22:11:08.243149 PluginsManager.cpp:219] Unregistering plugin 'dicom-web' (version mainline)
W0411 22:11:08.358172 PluginsManager.cpp:219] Unregistering plugin 'mysql-index' (version mainline)
W0411 22:11:08.358596 PluginsManager.cpp:168] MySQL index is finalizing
W0411 22:11:08.359788 PluginsManager.cpp:219] Unregistering plugin 'mysql-storage' (version mainline)
W0411 22:11:08.360222 PluginsManager.cpp:168] MySQL storage area is finalizing
W0411 22:11:08.366076 PluginsManager.cpp:219] Unregistering plugin 'postgresql-index' (version mainline)
W0411 22:11:08.366218 PluginsManager.cpp:168] PostgreSQL index is finalizing
W0411 22:11:08.366561 PluginsManager.cpp:219] Unregistering plugin 'postgresql-storage' (version mainline)
W0411 22:11:08.366635 PluginsManager.cpp:168] PostgreSQL storage area is finalizing
W0411 22:11:08.366858 PluginsManager.cpp:219] Unregistering plugin 'serve-folders' (version mainline)
W0411 22:11:08.367636 PluginsManager.cpp:219] Unregistering plugin 'transfers' (version mainline)
W0411 22:11:08.367709 PluginsManager.cpp:168] Transfers accelerator plugin is finalizing
W0411 22:11:08.367851 PluginsManager.cpp:219] Unregistering plugin 'web-viewer' (version mainline)
W0411 22:11:08.367884 PluginsManager.cpp:168] Finalizing the Web viewer
W0411 22:11:09.241691 PluginsManager.cpp:219] Unregistering plugin 'worklists' (version mainline)
W0411 22:11:09.242698 PluginsManager.cpp:168] Sample worklist plugin is finalizing
W0411 22:11:09.242906 PluginsManager.cpp:219] Unregistering plugin 'wsi' (version mainline)
E0411 22:11:09.255267 main.cpp:1639] Uncaught exception, stopping now: [The TCP port of the HTTP server is privileged or already in use] (code 2003)
W0411 22:11:09.258875 main.cpp:1672] Orthanc has stopped


I know that my error is [The TCP Port of the HTTP server is privileged or already in use].
However, there are no other containers running, nor any programs on my computer using port 8042.
Again, all I did was change the single option "SslEnabled" to "true".
Everything else is the default settings.

Does anyone know why this is happening?
Is there anything I should do or is this a possible bug?


Thanks,

Chris

Sébastien Jodogne

unread,
Apr 12, 2020, 4:24:29 AM4/12/20
to Orthanc Users
Hello,

Thanks for reporting this issue. This is actually known problem that results from the upgrade to OpenSSL 1.1.1, and that is already fixed in the mainline by the following changeset:

It will be part of forthcoming 1.6.1 maintenance release of Orthanc. You can already find precompiled, but unstable binaries at the following location:

HTH,
Sébastien-

ricardo.j....@gmail.com

unread,
Sep 1, 2021, 8:31:23 PM9/1/21
to Orthanc Users
Hello Sébastien, I have the same problem with 1.9.6 release on OpenSuse 15.3 Leap installed fallowing Dr. Axel Braun instructions from this conversation, when I turn SslEnabled : true, Orthanc doesn't run anymore. Is ther a solution to fix this problem?

Sébastien Jodogne

unread,
Sep 3, 2021, 4:19:52 AM9/3/21
to Orthanc Users
Hello,

Your problem is by no way related to the original post (the latter post was about the LSB binaries bundled inside the Docker images, which is not your case).

Please provide your logs in "--verbose" and full configuration files:

Sébastien-


On Thursday, September 2, 2021 at 2:31:23 AM UTC+2 ricardo.j....@gmail.com wrote:
Hello Sébastien, I have the same problem with 1.9.6 release on OpenSuse 15.3 Leap installed fallowing Dr. Axel Braun instructions from this conversation, when I turn SslEnabled : true, Orthanc doesn't run anymore. Is ther a solution to fix this problem?

El domingo, 12 de abril de 2020 a las 1:24:29 UTC-7, s.jo...@gmail.com escribió:
Hello,

Thanks for reporting this issue. This is actually known problem that results from the upgrade to OpenSSL 1.1.1, and that is already fixed in the mainline by the following changeset:

It will be part of forthcoming 1.6.1 maintenance release of Orthanc. You can already find precompiled, but unstable binaries at the following location:

HTH,
Sébastien-


On Sunday, April 12, 2020 at 12:16:46 AM UTC+2, Chris Chan wrote:
Hello all,

I'm trying to enable SSL by following this part of the Orthanc Book: https://book.orthanc-server.com/faq/https.html#https-builtin
However, when I changed the "SslEnabled" flag to "true" in my orthanc.json configuration, my server will no longer start up.
This is the only option that I've changed in the default configuration file.
It may be worth noting that I am trying to run using the jodogne/orthanc-plugins Docker image.

My terminal:

$ docker run -p 8042:8042 --rm -v $(pwd)/orthanc.json:/etc/orthanc/orthanc.json:ro -v $(pwd)/certificate.pem:/etc/orthanc/certificate.pem:ro jodogne/orthanc-plugins
[...]
Reply all
Reply to author
Forward
0 new messages