2016-04-25 2 views
0

Я могу добраться до сервера neo4j из localhost и успешно выполнить запросы, но я не могу запускать запрос с удаленного компьютера. На удаленном компьютере я могу получить доступ к neo4j из браузера. http://x.x.x.x:7474 приводит меня в веб-интерфейс neo4j. Но когда я выполнить запрос с весны дает permision отказано error.Query прост:Удаленное соединение neo4j Разрешение отклонено

User u = new User(); 
u.setName("test"); 
session.save(u); 

ogm.properties:

driver=org.neo4j.ogm.drivers.http.driver.HttpDriver 
URI=http://neo4j:[email protected]:7474 

полный стек трассировки:

2016-04-25 17:37:31.531 INFO 6040 --- [tp2116224318-27] o.n.o.drivers.http.request.HttpRequest : Thread 27: request {"statements":[{"statement":"UNWIND {rows} as row CREATE (n:`User`) SET n=row.props RETURN row.nodeRef as nodeRef, ID(n) as nodeId","parameters":{"rows":[{"nodeRef":-83203329,"props":{"name":"test"}}]},"resultDataContents":["row"],"includeStats":false}]} 
2016-04-25 17:37:31.531 INFO 6040 --- [tp2116224318-27] o.n.o.drivers.http.request.HttpRequest : Thread 27: POST http://neo4j:[email protected]:7474/db/data/transaction/commit HTTP/1.1 
2016-04-25 17:37:31.533 INFO 6040 --- [tp2116224318-27] o.apache.http.impl.execchain.RetryExec : I/O exception (java.net.SocketException) caught when processing request to {}->http://x.x.x.x:7474: Permission denied: connect 
2016-04-25 17:37:31.534 INFO 6040 --- [tp2116224318-27] o.apache.http.impl.execchain.RetryExec : Retrying request to {}->http://x.x.x.x:7474 
2016-04-25 17:37:31.535 INFO 6040 --- [tp2116224318-27] o.apache.http.impl.execchain.RetryExec : I/O exception (java.net.SocketException) caught when processing request to {}->http://x.x.x.x:7474: Permission denied: connect 
2016-04-25 17:37:31.535 INFO 6040 --- [tp2116224318-27] o.apache.http.impl.execchain.RetryExec : Retrying request to {}->http://x.x.x.x:7474 
2016-04-25 17:37:31.537 INFO 6040 --- [tp2116224318-27] o.apache.http.impl.execchain.RetryExec : I/O exception (java.net.SocketException) caught when processing request to {}->http://x.x.x.x:7474: Permission denied: connect 
2016-04-25 17:37:31.537 INFO 6040 --- [tp2116224318-27] o.apache.http.impl.execchain.RetryExec : Retrying request to {}->http://x.x.x.x:7474 
2016-04-25 17:37:31.538 WARN 6040 --- [tp2116224318-27] o.n.o.drivers.http.request.HttpRequest : Thread 27: Caught IOException : Permission denied: connect 
2016-04-25 17:37:31.543 WARN 6040 --- [tp2116224318-27] o.eclipse.jetty.servlet.ServletHandler : 

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.neo4j.ogm.exception.ResultProcessingException: Could not obtain new Transaction: 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:980) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) ~[jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) ~[jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:224) ~[websocket-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) [jetty-security-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.Server.handle(Server.java:499) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) [jetty-server-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) [jetty-io-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [jetty-util-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [jetty-util-9.2.15.v20160210.jar:9.2.15.v20160210] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66] 
Caused by: org.neo4j.ogm.exception.ResultProcessingException: Could not obtain new Transaction: 
    at org.neo4j.ogm.drivers.http.driver.HttpDriver.newTransactionUrl(HttpDriver.java:138) ~[neo4j-ogm-http-driver-2.0.1.jar:na] 
    at org.neo4j.ogm.drivers.http.driver.HttpDriver.newTransaction(HttpDriver.java:87) ~[neo4j-ogm-http-driver-2.0.1.jar:na] 
    at org.neo4j.ogm.session.transaction.DefaultTransactionManager.openTransaction(DefaultTransactionManager.java:57) ~[neo4j-ogm-core-2.0.1.jar:na] 
    at org.neo4j.ogm.session.delegates.TransactionsDelegate.beginTransaction(TransactionsDelegate.java:37) ~[neo4j-ogm-core-2.0.1.jar:na] 
    at org.neo4j.ogm.session.Neo4jSession.beginTransaction(Neo4jSession.java:380) ~[neo4j-ogm-core-2.0.1.jar:na] 
    at org.neo4j.ogm.session.request.RequestExecutor.executeSave(RequestExecutor.java:68) ~[neo4j-ogm-core-2.0.1.jar:na] 
    at org.neo4j.ogm.session.delegates.SaveDelegate.save(SaveDelegate.java:70) ~[neo4j-ogm-core-2.0.1.jar:na] 
    at org.neo4j.ogm.session.delegates.SaveDelegate.save(SaveDelegate.java:43) ~[neo4j-ogm-core-2.0.1.jar:na] 
    at org.neo4j.ogm.session.Neo4jSession.save(Neo4jSession.java:364) ~[neo4j-ogm-core-2.0.1.jar:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66] 
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66] 
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at com.sun.proxy.$Proxy63.save(Unknown Source) ~[na:na] 
    at com.rest.controller.HomeController.index(HomeController.java:56) ~[bin/:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66] 
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66] 
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
    ... 37 common frames omitted 
Caused by: org.neo4j.ogm.exception.ResultProcessingException: Failed to execute request: 
    at org.neo4j.ogm.drivers.http.driver.HttpDriver.executeHttpRequest(HttpDriver.java:119) ~[neo4j-ogm-http-driver-2.0.1.jar:na] 
    at org.neo4j.ogm.drivers.http.driver.HttpDriver.newTransactionUrl(HttpDriver.java:133) ~[neo4j-ogm-http-driver-2.0.1.jar:na] 
    ... 71 common frames omitted 
Caused by: org.neo4j.ogm.exception.ConnectionException: Error connecting to remote graph over HTTP 
    at org.neo4j.ogm.drivers.http.request.HttpRequest.execute(HttpRequest.java:261) ~[neo4j-ogm-http-driver-2.0.1.jar:na] 
    at org.neo4j.ogm.drivers.http.driver.HttpDriver.executeHttpRequest(HttpDriver.java:94) ~[neo4j-ogm-http-driver-2.0.1.jar:na] 
    ... 72 common frames omitted 
Caused by: java.net.SocketException: Permission denied: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[na:1.8.0_66] 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) ~[na:1.8.0_66] 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_66] 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_66] 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_66] 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_66] 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_66] 
    at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_66] 
    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) ~[httpclient-4.5.1.jar:4.5.1] 
    at org.neo4j.ogm.drivers.http.request.HttpRequest.execute(HttpRequest.java:227) ~[neo4j-ogm-http-driver-2.0.1.jar:na] 
    ... 73 common frames omitted 

neo4j- server.properties

#*************************************************************** 
# Server configuration 
#*************************************************************** 

# Require (or disable the requirement of) auth to access Neo4j 
dbms.security.auth_enabled=true 
dbms.security.allow_outgoing_browser_connections=true 
# 
# HTTP Connector 
# 

# http port (for all data, administrative, and UI access) 
org.neo4j.server.webserver.port=7474 

# Let the webserver only listen on the specified IP. Default is localhost (only 
# accept local connections). Uncomment to allow any connection. Please see the 
# security section in the neo4j manual before modifying this. 
org.neo4j.server.webserver.address=0.0.0.0 

# 
# HTTPS Connector 
# 

# Turn https-support on/off 
#org.neo4j.server.webserver.https.enabled=true 

# https port (for all data, administrative, and UI access) 
#org.neo4j.server.webserver.https.port=7473 

# Certificate location (auto generated if the file does not exist) 
#dbms.security.tls_certificate_file=conf/ssl/snakeoil.cert 

# Private key location (auto generated if the file does not exist) 
#dbms.security.tls_key_file=conf/ssl/snakeoil.key 

# Internally generated keystore (don't try to put your own 
# keystore there, it will get deleted when the server starts) 
#org.neo4j.server.webserver.https.keystore.location=data/keystore 

#***************************************************************** 
# Administration client configuration 
#***************************************************************** 


# Comma separated list of JAX-RS packages containing JAX-RS resources, one 
# package name for each mountpoint. The listed package names will be loaded 
# under the mountpoints specified. Uncomment this line to mount the 
# org.neo4j.examples.server.unmanaged.HelloWorldResource.java from 
# neo4j-examples under /examples/unmanaged, resulting in a final URL of 
# http://localhost:${org.neo4j.webserver.port}/examples/unmanaged/helloworld/{nodeId} 
#org.neo4j.server.thirdparty_jaxrs_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged 

#***************************************************************** 
# HTTP logging configuration 
#***************************************************************** 

# HTTP logging is disabled. HTTP logging can be enabled by setting this 
# property to 'true'. 
org.neo4j.server.http.log.enabled=true 

# Logging policy file that governs how HTTP log output is presented and 
# archived. Note: changing the rollover and retention policy is sensible, but 
# changing the output format is less so, since it is configured to use the 
# ubiquitous common log format 
org.neo4j.server.http.log.config=D:/neo4jdata/neo4j-http-logging.xml 
dbms.querylog.filename=D:/neo4jdata/queries.log 
+0

у вас раскомментируйте 'org.neo4j.server.webserver.address = 0.0. В neo4j-server.properties? –

+0

добавленные свойства как ответ – user3889148

+1

Не размещайте дополнительную информацию в качестве ответа. Измените свой вопрос. –

ответ

1

Я не думаю, что это проблема «neo4j». Это больше похоже на исключение, связанное с брандмауэром, потому что java.net.SocketException: Permission denied: connect, что, вероятно, означает, что брандмауэр блокирует ваш запрос на порт 7474. Да, я знаю, что вы можете подключиться отлично от своего браузера, но neo4j/apache HttpClient открывают сокеты java.net внутри, и это заблокирован. У других пользователей были проблемы с сокетами java.net в зависимости от настроек брандмауэра, используемой версии Java, версии ОС и т. Д.

Попробуйте открыть прямое соединение с использованием java.net-сокета до http://x.x.x.x:7474 или с помощью Apache HttpClient и посмотреть если вы все равно получите одно и то же исключение. Это должно сказать вам, являются ли весовые данные neo4j lib причиной.

См эти вопрос/ответы на проблемы стрелять дальше:

Random UnreachableBrowserException when running Selenium tests

Также см:

http://jonathangiles.net/blog/?p=1126

 Смежные вопросы

  • Нет связанных вопросов^_^