복붙노트

[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. ==============================

    1.Dave가 말했듯이 SSL을 지원하도록 컨테이너를 구성한 다음 Spring 응용 프로그램을 해당 컨테이너에 배포해야합니다. SSL 용 Tomcat 구성에 대해 자세히 알아보십시오.

    Dave가 말했듯이 SSL을 지원하도록 컨테이너를 구성한 다음 Spring 응용 프로그램을 해당 컨테이너에 배포해야합니다. SSL 용 Tomcat 구성에 대해 자세히 알아보십시오.

    다른 방법으로 더 유연하게 Apache를 사용하여 컨테이너를 앞당기 고 SSL을 활성화 할 수 있습니다.

  2. ==============================

    2.Spring은 SSL 구성에 100 % 책임이 없습니다. 이를 위해서는 SSL을 처리하도록 컨테이너 (부두, 바람둥이 등)를 구성해야합니다.

    Spring은 SSL 구성에 100 % 책임이 없습니다. 이를 위해서는 SSL을 처리하도록 컨테이너 (부두, 바람둥이 등)를 구성해야합니다.

  3. ==============================

    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. ==============================

    4.두 개의 서로 다른 웹 사이트를 구성하십시오. 하나는 http 용이고 다른 하나는 https 용입니다. http 용 웹 사이트는 https 사이트로 리다이렉트합니다.

    두 개의 서로 다른 웹 사이트를 구성하십시오. 하나는 http 용이고 다른 하나는 https 용입니다. http 용 웹 사이트는 https 사이트로 리다이렉트합니다.

  5. from https://stackoverflow.com/questions/7811128/how-to-develop-https-site-with-spring-3-x by cc-by-sa and MIT license