Используйте сертификаты LetsEncrypt с Neo4j

8

Как можно использовать файлы сертификатов, сгенерированные LetsEncrypt вместе с экземпляром Neo4j? Файлы, сгенерированные LetsEncrypt:

  • cert.pem
  • chain.pem
  • fullchain.pem
  • privkey.pem

Я безуспешно пытался конвертировать через OpenSSL , используя конвертацию из PEM в DER. Neo4j жалуется на отсутствие сертификатов при запуске. Вопрос в том, как преобразовать сертификаты LetsEncrypt во что-то, что может использовать Neo4j.

Детали настройки:

  • Сертификаты размещены /var/lib/neo4j/certificates/с именами neo4j.{cert,key}, разрешениями 600, принадлежащими neo4j:nogroup. Все это, кажется, в соответствии с документами .
  • В конфиге у меня есть эта строка для указания пути сертификата: dbms.directories.certificates=/var/lib/neo4j/certificates
  • В конфиге у меня также включен удаленный доступ по HTTPS: dbms.connector.https.address=0.0.0.0:7473

При перезапуске Neo4j я получаю следующее сообщение об ошибке:

WARN  Illegal character 0x16 in state=START for buffer HeapByteBuffer@5a260174[p=1,l=193,c=8192,r=192]={\x16<<< SEVERAL_LINES_OF_HEX_JIBBERISH_HERE }
WARN  badMessage: 400 Illegal character 0x16 for HttpChannelOverHttp@5d682358{r=0,c=false,a=IDLE,uri=-}
Майкл Йохансен
источник
По крайней мере, вы должны сообщить об ошибках, которые вы получаете ...
gf_
Хорошая точка зрения. Сообщение об ошибке и пояснения теперь добавлены.
Майкл Йохансен
Обратите внимание, что согласно документации, вам нужно конвертировать только ключ. Для сертификата просто используйте fullchain.pem
Hardy Rust
Использование полной цепочки для сертификата сделало свое дело. Спасибо!
Майкл Йохансен

Ответы:

10

Мне удалось использовать сертификат let encrypt на neo4j с помощью следующего процесса:

  • Использовал клиент letsencrypt / acme, реализованный как метод shell-script, для создания сертификата для моего домена.
  • Три файла генерируются с помощью скрипта для получения сертификата fullchain.pem cert.pem privkey.pem
  • Скопируйте их в каталог сертификатов neo4j

    mv /path_to_lets_encrypt_certs_dir/fullchain.pem /var/lib/neo4j/certificates/neo4j.cert

    mv /path_to_lets_encrypt_certs_dir/privkey.pem /var/lib/neo4j/certificates/neo4j.key

  • Перезапустите neo4j

anirudh@prok:~# /var/lib/neo4j/bin/neo4j restart
Stopping Neo4j.. stopped
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended.  See the Neo4j manual.
Started neo4j (pid 17608). By default, it is available at  https://your-domain:7473/
There may be a short delay until the server is ready.
See /var/lib/neo4j/logs/neo4j.log for current status.

Это должно запустить его для вас. Надеюсь это поможет!

Анирудх Малхотра
источник