процедуры: SSL23_GET_SERVER_HELLO: неизвестный протокол при попытке подключиться к серверу neo4j с помощью прокси

#nginx #neo4j #ssl-certificate #nginx-reverse-proxy #libneo4j-client

#nginx #neo4j #ssl-сертификат #nginx-reverse-proxy #libneo4j-client

Вопрос:

У меня установлен neo4j-server на удаленном сервере Linux. Этот сервер использует nginx и имеет виртуальный хост. Вот конфигурация:

 server {
    listen 80;
    listen [::]:80;

    server_name neo.mydomain.in.ua;

    access_log /var/log/nginx/neo-browser-access.log;
    error_log /var/log/nginx/neo-browser-error.log;

    location / {
        proxy_pass http://localhost:7474;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
  

Я использую его, потому что я не могу использовать порт 7474, только 80 или 8080.

http://neo.mydomain.in.ua/browser/ работает нормально, и я вижу neo4j-browser. Но я не могу подключиться к базе данных, используя любой клиент (даже используя консольный клиент). Я получил это:

 >> neo4j-client -u neo4j neo.mydomain.in.ua 80
OpenSSL error: 336031996:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
error: Unexpected error
  

Но когда я попытался использовать postman для этого, я получил

 >> http://neo.mydomain.in.ua/db/data/

{
    "errors": [
        {
            "code": "Neo.ClientError.Security.Unauthorized",
            "message": "No authentication header supplied."
        }
    ]
}
  

Это означает, что у меня есть доступ к базе данных, но не через neo4j-client. Я попытался войти в систему, используя обычную аутентификацию, и это работает.

Что не так?

Комментарии:

1. В чем ошибка при попытке подключиться из браузера?

2. У меня нет никакой ошибки от браузера. Я вижу страницу входа в neo4j в браузере. Это работает хорошо

3. Вы можете войти в систему?

4. Конечно. Вход в систему прошел успешно

5. Если вы можете войти в систему, то используйте URL подключения на странице входа для подключения с клиента.

Ответ №1:

Для подключения базы данных Neo4j вам нужен открытый порт 7687.

При подключении с postman укажите аутентификацию и измените порт на 7687 в URL подключения.

Комментарии:

1. Я могу использовать только 80 или 8080

Ответ №2:

Проблема решена. Я просто раскомментировал

 dbms.connectors.default_listen_address=0.0.0.0
  

в моем neo4j.conf. Но странно, что я могу войти в neo4j с помощью postman, даже если эта опция отключена. (0_0)/