2017-08-31 262 views
1

我在通過NGINX的反向代理尋址Neo4j時遇到問題。帶反向代理和NGINX的Neo4j

Web客戶端沒有問題,但我不知道Bolt協議。

這裏的Web客戶端如何工作的:

server { 
    listen 80; 
    server_name XXX; 

    location/{ 
     proxy_pass http://YYY:7474/; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_redirect off; 
     proxy_buffering off; 
    } 
} 

但如何通過端口博爾特協議7687的工作?

謝謝。

PS:Google translator ftw。

回答

0

您需要使用與--with-stream編譯的nginx。然後,你可以下面的部分添加到您的nginx配置

stream { 
    server { 
    listen 7687; 
    proxy_pass neo4j:7687; 
    } 
} 

基本上你需要使用TCP反向代理,而不是HTTP代理。上面的配置部分將在頂級,而不是在httpserver

0

您將需要打開筆記本電腦和服務器之間的端口7687 hsoting neo4j。

如果您使用讓我們加密並嘗試通過SSL連接。 neo4j嵌入式證書未由在我的Chrome瀏覽器中產生錯誤的授權機構簽署。

爲了使它工作,我不得不復制我的證書在Neo4j的證書:

sudo su 
cp /etc/letsencrypt/live/MYDOMAIN/fullchain.pem /var/lib/neo4j/certificates/neo4j.cert 
cp /etc/letsencrypt/live/MYDOMAIN/privkey.pem /var/lib/neo4j/certificates/neo4j.key 
service neo4j restart