Я пытаюсь перенести веб-приложение, созданное с помощью Spring Security, через https. Я следовал ВСЕМ руководствам и документам, найденным в Интернете, но ничего не получалось. Не могли бы вы помочь мне решить проблему или выявить проблемы?
Не работает, потому что когда я перехожу на https://mywebapps, я получаю страницу, не найденную. Пока http работает.
Я следовал этому руководству https://www.baeldung.com/spring-channel-security-https для настройки хранилища ключей и коннектора.
Я запускаю webapp через AWS EC2.
mywebapp / web-application-context.xml
<security:http auto-config="true">
<security:intercept-url pattern="/Secure/**" access="isAuthenticated()" />
<security:intercept-url pattern="/**" requires-channel="https" />
<security:access-denied-handler
error-page="/Unsecure/NoPermission" />
<security:form-login login-page="/Unsecure/Login"
login-processing-url="/Unsecure/Login.do" username-parameter="username"
password-parameter="password" always-use-default-target="true"
default-target-url="/Secure/Home/Dashboard" authentication-failure-url="/Unsecure/Login?err=1" />
<security:logout logout-success-url="/Unsecure/Login"
logout-url="/Secure/Logout" delete-cookies="JSESSIONID" />
<security:csrf />
<security:http-basic/>
</security:http>
tomcat7 / server.xml
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="${user.home}/.keystore" keystorePass="changeit"/>
mywebapp / web.xml
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/web-application-config.xml</param-value>
</context-param>
<session-config>
<session-timeout>120</session-timeout>
</session-config>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>encoding-filter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
С наилучшими пожеланиями, Кармин