-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker SSL configuration doesn't enable ssl port #225
Comments
I am able to enable ssl by setting the settings below. However simply mounting /ssl doesn't work.
|
I'm having a similar issue. I used to mount /ssl, which is not possible anymore with Neo4j 4.0. After changing the docker configuration to
I'm getting the error
I tried changing the permissions via Running docker with |
You're right, our SSL documentation for docker is horribly out of date. I apologise for that and I'm going to work on fixing it. Here's what I did to get it working, and I suppose the new documentation will be some variation on this. HTTPS Encryption in Neo4j DockerThese instructions assume you already have the necessary ssl key and certificate.
This is documented at: https://neo4j.com/docs/operations-manual/4.0/security/ssl-framework/ The key and certificate must be called
Here's an example:
This should be enough to enable SSL encryption over HTTPS:
|
@Schirmi136 Could you check who the owning user and group is on |
I have roughly the same problem. I have a directory set up with different certificates for the bolt and https connectors:
If I mount this certificates folder at the
However, if I mount the same directory at
The permissions are the same in both situations. In both situations, I am passing a uid and gid from the host system using the
I'm working around this with the other mount, but I found it confusing that I need to mount the certificates under One possible solution might be to copy the certificates instead of symlinking the directory. In other words, handle certificates the same way configuration is handled. (I am suspicious that the certificate loaders are refusing to traverse the symlink.) This would be a trade off though, as certificates couldn't be refreshed in place, without some extra logic somewhere to copy again. I have seen this problem with both the |
I've finally updated the documentation and included examples of how to set up https encryption. See: I'm going to close this issue now. |
@davcamer the default directory Neo4j 4.0 looks for certificates is |
@jennyowen In that case, should this section of the entrypoint script be removed? |
@davcamer ok you got me! In my defence, that bit of code is only in 4.0.5 and onwards. |
Oops! My fault for looking at the wrong code then. 😞 And my /ssl mount would probably work on the 4.0.5 image. Thanks. 🙇♂️ |
Making /ssl volume available for the neo4j container doesn't seem to enable ssl. I followed the instructions on Neo4j Docker docs to enable ssl and also looked into
docker-entrypoint.sh
. I don't think that what is mentioned in the docs is working.https://neo4j.com/docs/operations-manual/current/docker/security/
Steps to reproduce:
Expected behaviour
Https is enabled for browser with https scheme and https port (7473).
Actual behaviour
Https is not enabled. Remote interface is still only available at http scheme and http port (7474).
Try
curl -k https://localhost:7473
returns ssl error howevercurl localhost:7474
does return a response from the server.There is also the deprecation warning about dbms.directories.certificates in the logs, which makes me think that /ssl is not working as expected in the entrypoint.
Any help would be greatly appreciated!
Neo4j Docker tag: 4.0
Docker version: 18.03.1-ce
OS: Ubuntu 16.04.5 LTS
The text was updated successfully, but these errors were encountered: