Neo4j 特定的 HTTP 请求用户代理字符串
以下是来自 Apache Web 服务器访问日志 /var/log/apache2/access.log 的示例,包括以下发出的 4 个请求:
192.168.2.38 - - [26/Mar/2018:19:16:52 -0400] "GET / HTTP/1.1" 200 3477 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" 192.168.2.38 - - [26/Mar/2018:19:17:23 -0400] "GET / HTTP/1.1" 404 3477 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0" 192.168.2.40 - - [26/Mar/2018:19:21:11 -0400] "GET /test.json HTTP/1.1" 200 989 "-" "curl/7.55.1" 192.168.2.40 - - [26/Mar/2018:19:26:37 -0400] "GET /test.json HTTP/1.1" 200 989 "-" "APOC Procedures for Neo4j" 192.168.2.40 - - [26/Mar/2018:19:46:01 -0400] "GET /test.csv HTTP/1.1" 200 502 "-" "NeoLoadCSV_Java/1.8.0_151"
从上面我们可以看到,apoc.load.json 发送的用户代理是 APOC Procedures for Neo4j
,而 LOAD CSV 发送的用户代理是 NeoLoadCSV_Java/1.8.0_151
。此外,对于任何启用 Bolt 的应用程序,例如 Neo4j Browser 和 cypher-shell,由于工作实际上是在服务器本身上完成的,因此用户代理将是相同的。
因此,如果您的网络防火墙仅允许典型已知用户代理/浏览器标识符的 HTTP(s) 请求流量,并拒绝所有其他流量,您可能会遇到以下情况:通过典型浏览器发出的请求可以报告数据,但使用 APOC 或 LOAD CSV 时却无法返回数据。
此页面有帮助吗?