[SPRING] 스프링 3.x로 https 사이트를 개발하는 방법은?
SPRING스프링 3.x로 https 사이트를 개발하는 방법은?
나는 스프링 기반 웹 개발의 초보자이다.
저희 사이트는 Spring 기반이며 현재 http 기반입니다 (매우 안전하지 않습니다). 사이트가 아직 라이브가 아니기 때문에, 우리는 서버에 일반 JSON 요청을 통해 로그인 / 패스워드를 보내고 주로 JSP, UI 디자인, SQL 쿼리 등에 중점을 둡니다.
이제 보안에 초점을 맞추고 첫 단계로 https로 전환하려고합니다.
나는 아니오를 읽었다. 스프링 페이지가 https 보안을 제공하는 데 어떻게 사용될 수 있는지에 대한 명확한 답을 제공하지는 못합니다. 위의 달성에 도움을 줄 수있는 사람이 있습니까?
제 질문이 명확하지 않은 경우 알려주십시오. 최대한 빨리 세부 사항을 추가하겠습니다.
우리의 web.xml은 다음과 같습니다 :
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
"
id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<!--> Mapping for serving static web-content <-->
<!--> The resources folder must be in parallel to WEB-INF <-->
<!--> The mvc:resources gives "not bound" exception unless bound to a namespace as above for xmlns:mvc <-->
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/scripts/**" location="/scripts/" />
</web-app>
현재로서는 컨트롤러가 하나 뿐이며 spring-servlet.xml은 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan
base-package="console.controllerpkg" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
많은 감사드립니다!
추신 좋은 예를 들어 사이트 / 책을 봄에 추천 해 주시면 감사하겠습니다. 제가 본 사이트 나 책의 대부분은 이론에 중점을두고 있지만 예제는 거의 없습니다. 그것은 나를 혼란스럽게 만들었다.
해결법
-
==============================
1.Dave가 말했듯이 SSL을 지원하도록 컨테이너를 구성한 다음 Spring 응용 프로그램을 해당 컨테이너에 배포해야합니다. SSL 용 Tomcat 구성에 대해 자세히 알아보십시오.
Dave가 말했듯이 SSL을 지원하도록 컨테이너를 구성한 다음 Spring 응용 프로그램을 해당 컨테이너에 배포해야합니다. SSL 용 Tomcat 구성에 대해 자세히 알아보십시오.
다른 방법으로 더 유연하게 Apache를 사용하여 컨테이너를 앞당기 고 SSL을 활성화 할 수 있습니다.
-
==============================
2.Spring은 SSL 구성에 100 % 책임이 없습니다. 이를 위해서는 SSL을 처리하도록 컨테이너 (부두, 바람둥이 등)를 구성해야합니다.
Spring은 SSL 구성에 100 % 책임이 없습니다. 이를 위해서는 SSL을 처리하도록 컨테이너 (부두, 바람둥이 등)를 구성해야합니다.
-
==============================
3.모든 도움을 주셔서 감사합니다. 내 기록 목적으로 한 일을 다시 반복 할 것입니다.
모든 도움을 주셔서 감사합니다. 내 기록 목적으로 한 일을 다시 반복 할 것입니다.
우선, nont가 'Tomcat for SSL'에 대해 제공 한 링크는 정말 도움이되었습니다. 나는 SSL과 Tomcat에 관한 모든 것을 읽었으며 이것이 내가 한 것이다.
명령 프롬프트에 다음을 입력하십시오. keytool -genkey -alias tomcat -keyalg RSA 위의 명령은 인증서에 필요한 몇 가지 간단한 질문을했습니다. 나는 (기본 암호 인 것처럼) 묻는 곳마다 'changeit'암호를 사용했습니다.
위의 명령으로 마무리하면 C : / Documents and Settings //. keystore에 keystore 파일이 생성됩니다. 이 .keystore 파일을 tomcat / conf / myKeyStore.jks에 복사했습니다.
그런 다음 conf / server.xml에 다음을 추가했습니다.
<Connector protocol="org.apache.coyote.http11.Http11Protocol" port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" debug="5" scheme="https" secure="true" SSLEnabled="true" keystoreFile="${catalina.home}/conf/myKeyStore.jks" keystoreType="JKS" keystorePass="changeit" truststoreFile="${catalina.home}/conf/cacerts" truststoreType="JKS" truststorePass="changeit" SSLVerifyClient="require" SSLEngine="on" SSLVerifyDepth="2" sslProtocol="TLS" />
그리고 그게 다야!! 다음 번엔, 나는 오래된 HTTP 링크가 작동하지 않는 바람둥이를 운영했다. 그런 다음 포트 번호가 8443 인 http에 sweet 's를 추가하려고 시도했습니다. 모든 것이 다시 가동되었습니다.
멋진 링크에 대해 고마워요!
-
==============================
4.두 개의 서로 다른 웹 사이트를 구성하십시오. 하나는 http 용이고 다른 하나는 https 용입니다. http 용 웹 사이트는 https 사이트로 리다이렉트합니다.
두 개의 서로 다른 웹 사이트를 구성하십시오. 하나는 http 용이고 다른 하나는 https 용입니다. http 용 웹 사이트는 https 사이트로 리다이렉트합니다.
from https://stackoverflow.com/questions/7811128/how-to-develop-https-site-with-spring-3-x by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] MySQL 용 Spring Batch 3 업그레이드 스크립트가 있습니까? (0) | 2019.03.28 |
---|---|
[SPRING] Spring KeyGenerator가 작동하지 않는 고유 한 캐시 키 생성 (0) | 2019.03.28 |
[SPRING] 봄 부팅 ddl 자동 발전기 (0) | 2019.03.28 |
[SPRING] 수동으로 AuthenticationManager 인스턴스 가져 오기 (0) | 2019.03.28 |
[SPRING] Spring Data REST 쿼리 메소드 리소스에 프로젝션을 적용하려면 어떻게해야합니까? (0) | 2019.03.28 |