1 아파치 톰캣 연동의 경우

http://mod-rewrite-cheatsheet.com/

민물님 블로그
http://mimul.com/pebble/default/2010/07/19/1279542240000.html

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog /log/rewrite.log
RewriteLogLevel 9
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
</IfModule>

2 톰캣 단독의 경우

* SSL 적용 방법
 - 톰캣 단독의 경우
 
1 인증서를 생성한다.
 - eclipse 를 사용할 경우 keystore plugin 마켓이나 update 사이트를 이용해서 설치하면 편리
 - gt1000.cert 라는 사설 인증서를 생성. 인증서 생성 방법은 다른 웹 문서를 참조
 - 인증서 생성시 주의할 점의 CN 부분을 톰캣 설치 서버 IP로 해야 함
   인증서 검증을 하면서 CN 부분이 맞지 않을 경우 오류가 발생하기 때문
   인증기관에서 인증서를 발급 받는 경우는 도메인을 사용하기 때문에 신경 안 써도 됨. 사설 인증서의 경우만
2 톰캣 설정
 - server.xml 파일을 아래와 같이 수정
   redirectPort 443 포트 부분을 아래와 일치 시켜 주는게 중요
   <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="443" URIEncoding="UTF-8"/>
   <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="D:\workspace\workspace-kepler\gt1000\src\main\resources\gt1000.cert"
               keystorePass="gt1000" />
   <Connector port="8009" protocol="AJP/1.3" redirectPort="443" URIEncoding="UTF-8"/>
3 web.xml 설정
 - http 로 접속 했을 경우 자동으로 https 로 전환 해 줌
  <security-constraint>
      <web-resource-collection>
            <web-resource-name>secured page</web-resource-name>
            <url-pattern>*.do</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
  </security-constraint>
4 maven 설정
 - httpclient 4.4 버전 사용
 - pom.xml 에 아래를 추가
 <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.6</version>
        </dependency>
5 java 소스
 - 테스트는 아래 두개 메서드만 해 봤음. 나머지 것들은 안해 봤음. 소스가 좀 거지 같음.
 - ExternalService 는 원격 서버를 호출하기 위한 정보를 담고 있음
 - httpsGetAPICall() 메서드는 인증서 있는거
 - httpsGetAPICallWithoutCertificate() 메서드는 인증서 없이 하는거
 - post 방식은 url에 변수를 & 로 연결해서 호출은 잘 실행 되는데,
   NameValuePair 방식으로 하면 원격 호출은 되는데.... 이상하게 interceptor 통과 후 실행이 되지 않음(테스트 해 봐야 함)
 

HttpClientWrapper.java




'was' 카테고리의 다른 글

apache, tomcat 연동시 고려사항  (0) 2010.11.30
was 모니터링 툴(외국꺼 무료 같은데 영어 해석이 ㅠ.ㅠ)  (0) 2010.11.19
톰캣 한글 설정 관련  (0) 2010.04.06
메모리 관련  (0) 2010.02.19
Apache Mod_Security  (0) 2010.02.17
Posted by gt1000

블로그 이미지
gt1000

태그목록

공지사항

어제
오늘

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함