Spring Boot SSL настроен, сервер включен, но не может подключиться к порту - PullRequest
0 голосов
/ 21 декабря 2018

Я попробовал загрузочное приложение с последней версией, хотел сделать остальные API безопасными, я сделал это ниже, создал хранилище ключей и поместил в classpath проекта, сервер запустился, проблем с запуском нет, но не удалось отправить запрос8080 или 8443, ниже приведены настройки,

server.ssl.key-store = KeyStore.p12 server.ssl.key-store-password = shashank server.ssl.key-alias = сервер mydomain.ssl.key-password = shashank

@Bean
   public TomcatServletWebServerFactory servletContainer() {
      TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
   @Override
   protected void postProcessContext(Context context) {
   SecurityConstraint securityConstraint = new SecurityConstraint();
   securityConstraint.setUserConstraint("CONFIDENTIAL");
   SecurityCollection collection = new SecurityCollection();
   collection.addPattern("/*");
   securityConstraint.addCollection(collection);
   context.addConstraint(securityConstraint);
   }
   };
   tomcat.addAdditionalTomcatConnectors(getHttpConnector());
   return tomcat;
   }

  private Connector getHttpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("https");
        connector.setPort(8080);
        connector.setSecure(true);
        connector.setRedirectPort(8443);

}

INFO 84898 --- [main] osbwembedded.tomcat.TomcatWebServer: Tomcat запущен на порте (-ах): введите описание изображения здесь 8443(https) 8080 (https) с контекстным путем '/ event-processing'

, поскольку это самозаверяющий сертификат, он говорит: «Этот сертификат не проверен третьей стороной»

Цель состоит в том, чтобы сделать https для всех остальных API введите описание изображения здесь

1 Ответ

0 голосов
/ 21 декабря 2018

Попробуйте эти изменения:

Измените application.properties, чтобы изменить server.ssl.key-store значение параметра в keystore.p12 из KeyStore.p12

server.ssl.key-store: keystore.p12

Добавьте компонент TomcatEmbeddedServletContainerFactory в класс @Configuration(любой).

 @Bean
  public EmbeddedServletContainerFactory servletContainer() {
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
        @Override
        protected void postProcessContext(Context context) {
          SecurityConstraint securityConstraint = new SecurityConstraint();
          securityConstraint.setUserConstraint("CONFIDENTIAL");
          SecurityCollection collection = new SecurityCollection();
          collection.addPattern("/*");
          securityConstraint.addCollection(collection);
          context.addConstraint(securityConstraint);
        }
      };

    tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
    return tomcat;
  }

  private Connector initiateHttpConnector() {
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    connector.setScheme("http");
    connector.setPort(8080);
    connector.setSecure(false);
    connector.setRedirectPort(8443);

    return connector;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...