微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ssl – 在nginx反向代理后面的neo4j webinterface

我正在尝试将neo4j数据库暴露给互联网.

出于安全考虑,我想通过Nginx将其隐藏在SSL / basic_auth组合后面.这是相应的Nginx配置:

  location /neo4j/ {
            proxy_pass https://localhost:7473/;
            proxy_read_timeout 600;

            proxy_set_header    X-Real-IP         $remote_addr;
            proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header    X_FORWARDED_PROTO https;
            proxy_set_header    Host              $http_host;
            proxy_buffering     off;
            proxy_redirect      off;
            auth_basic           "restricted";
            auth_basic_user_file /etc/Nginx/auth/htpasswd;
            proxy_headers_hash_max_size 1024;
            proxy_headers_hash_bucket_size 128;
            proxy_ssl_session_reuse off;
            rewrite /neo4j/(.*) /$1 break;
    }

虽然我能够访问https://example.com/neo4j/browser,但网络界面告诉我,它无法连接到neo4j,我的webbrowser控制台充满了选项https://example.com/db/data 405(不允许)

我还尝试了内置在https服务器中的neo4j以及身份验证扩展(https://github.com/neo4j-contrib/authentication-extension).
使用此选项,我还可以访问Web界面.

但界面还显示,并且webbrowser的控制台充满了OPTIONS http://example.com:7473/db/data/net :: ERR_EMPTY_RESPONSE和提示页面位于’https ://example.com:7473 / browser /’通过HTTPS加载,但显示来自“http://example.com:7473/db/data/”的不安全内容:此内容也应通过HTTPS加载.

有谁知道,如何让它工作?提前谢谢了!

我遇到了同样的问题,有点奇怪的是缺乏关于Nginx作为网络服务器和neo4j的信息.奇怪的是,官方文档中对反向代理的唯一引用是Apache – 没有留下深刻的印象.

仅供参考我认使用dockerised neo4j(https://github.com/neo4j/docker-neo4j/tree/master/2.3.2)(如果你想知道其他设置).如果你在docker之外本地运行neo4j应该没关系.以下Nginx conf将是相同的.

location /neo4j/ {
            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;
            proxy_pass http://YOUR-IP:7474/browser/;
 }

 location /db/data/ {
                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;
                proxy_pass http://YOUR-IP:7474/db/data/;
}

如果您使用HTTPS而不是HTTP,请用您的IP替换YOUR-IP并将7474更改为7473.

这对我有用.

原文地址:https://www.jb51.cc/nginx/434740.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐