Как подключиться к mongoDB на удаленном сервере из приложения Angular-Spring, размещенного на другом сервере

0

Мой mongoDB размещен на X-ящике, а приложение Angular-Spring - на коробке Y. Когда оба находятся на локальном, мое приложение работает нормально, но на этой конфигурации уровня сервера я становлюсь ниже проблемы.

Состояние HTTP 500 - обработка запроса не выполнена; Вложенное исключение - org.springframework.dao.DataAccessResourceFailureException: невозможно подключиться к любым серверам; Вложенное исключение - com.mongodb.MongoServerSelectionException: невозможно подключиться к любым серверам

отчет об исключении типа

Ошибка обработки запроса сообщения; Вложенное исключение - org.springframework.dao.DataAccessResourceFailureException: невозможно подключиться к любым серверам; Вложенное исключение - com.mongodb.MongoServerSelectionException: невозможно подключиться к любым серверам

описание Сервер обнаружил внутреннюю ошибку, которая помешала ему выполнить этот запрос.

exception org.springframework.web.util.NestedServletException: обработка запроса не удалась; Вложенное исключение - org.springframework.dao.DataAccessResourceFailureException: невозможно подключиться к любым серверам; Вложенное исключение - com.mongodb.MongoServerSelectionException: невозможно подключиться к любым серверам org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852 ) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) javax.servlet.http.HttpServlet.service(HttpServlet.java:731 ) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:316) org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java: 330) org.s pringframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.session.SessionManagementFilter. doFilter (SessionManagementFilter.java:122) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) org. springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:168) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain. doFilter (FilterChainProxy.java:330) org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwa reFilter.java:48) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) org. springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter( AbstractAuthenticationProcessingFilter.java:205) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120) org. springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter .java: 64) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java: 330) org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176) org.springframework.web.filter.Delegati ngFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)

Мы изменили конфигурацию, чтобы указать на X-ящик во всех конфигурациях

  • 0
    хм, я столкнулся с чем-то похожим с postgresql, была ли проблема тайм-аута при попытке соединить приложение с базой данных, вы размещаете их на частном сервере?
  • 0
    его в частной сети.
Показать ещё 3 комментария
Теги:
spring-mvc

2 ответа

0

Ошибка была в местоположении файла jar. Я использую Tomcat Apache, и ящик должен храниться там. Первоначально я думал, что SimpleMongoDbFactory решила мою проблему, позже я понял, что это связано с баночками.

0

По умолчанию MongoDB связывается только с локальным интерфейсом, он ограничивает удаленные подключения. Поэтому, чтобы опубликовать ваш удаленный сервер и сделать его доступным за пределами локального хоста, вы должны обновить mongod.conf с помощью

bind_ip = 127.0.0.1,192.168.1.1,<remote_server_ip>,....

Ещё вопросы

Сообщество Overcoder
Наверх
Меню