From e14f27830e73b58c736e4c5e6f5b58c882e1233e Mon Sep 17 00:00:00 2001 From: Kshitij <160704796+kshitij-ka@users.noreply.github.com> Date: Thu, 3 Jul 2025 02:37:13 +0530 Subject: [PATCH] Add HTTP to HTTPS redirect configuration using embedded Tomcat - HTTP connector on port 8080 redirects to HTTPS (8443). - Ensures users accessing http:// are forwarded to https:// - No need for external proxy (e.g., Nginx) for redirection. --- .../config/HttpToHttpsRedirectConfig.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/main/java/com/skycrate/backend/skycrateBackend/config/HttpToHttpsRedirectConfig.java diff --git a/src/main/java/com/skycrate/backend/skycrateBackend/config/HttpToHttpsRedirectConfig.java b/src/main/java/com/skycrate/backend/skycrateBackend/config/HttpToHttpsRedirectConfig.java new file mode 100644 index 0000000..c7f3184 --- /dev/null +++ b/src/main/java/com/skycrate/backend/skycrateBackend/config/HttpToHttpsRedirectConfig.java @@ -0,0 +1,23 @@ +package com.skycrate.backend.skycrateBackend.config; + +import org.apache.catalina.connector.Connector; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class HttpToHttpsRedirectConfig { + + @Bean + public WebServerFactoryCustomizer containerCustomizer() { + return factory -> { + Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL); + connector.setScheme("http"); + connector.setPort(8080); // HTTP port + connector.setSecure(false); + connector.setRedirectPort(8443); // HTTPS port + factory.addAdditionalTomcatConnectors(connector); + }; + } +} \ No newline at end of file