0

私はSpringで組み込みのTomcatを使用しており、httpsのポート8443をリッスンするようにプログラムで構成しましたが、動作します。以下は、私の Apllication.java ファイルからのコード スニペットです。http リクエストのポート 80 もリッスンするように設定するにはどうすればよいですか?

@Bean
    EmbeddedServletContainerCustomizer containerCustomizer(
            @Value("${keystore.file:src/main/resources/private/keystore}") String keystoreFile,
            @Value("${keystore.pass:changeit}") final String keystorePass) throws Exception {


        final String absoluteKeystoreFile = new File(keystoreFile).getAbsolutePath();

        return new EmbeddedServletContainerCustomizer () {

            @Override
            public void customize(ConfigurableEmbeddedServletContainer container) {
                    TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;



                    tomcat.addConnectorCustomizers(
                            new TomcatConnectorCustomizer() {
                                @Override
                                public void customize(Connector connector) {
                                    connector.setPort(8443);
                                    connector.setSecure(true);
                                    connector.setScheme("https");

                                    Http11NioProtocol proto = (Http11NioProtocol) connector.getProtocolHandler();
                                    proto.setSSLEnabled(true);
                                    proto.setKeystoreFile(absoluteKeystoreFile);
                                    proto.setKeystorePass(keystorePass);
                                    proto.setKeystoreType("JKS");
                                    proto.setKeyAlias("tomcat");

                                }
                            });



            }
        };
    }
4

1 に答える 1

1

解決策を見つけました。Customize() メソッドでは、 tomcat.addAdditionalTomcatConnectors(httpConnector()) メソッドを使用して新しい http ポートを追加しました

  // create an http port for downloading images over http
    private Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
            connector.setScheme("http");
            connector.setPort(8383);
            return connector;

    }
于 2014-11-18T16:32:13.537 に答える