RadarURL

웹 프로그래밍
2013.03.01 07:17

Apache2 openssl on Winows XP (https 접속)

조회 수 3051 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

테스트 환경

System : Windows NT 5.1 build 2600
Apache Version 2.2.11 (Win32)
mod_ssl 2.2.11
OpenSSL 0.9.8i
PHP 5.2.9-1 

 

※ Windows- XP에 Apache SSL 보안서버 적용 방법

Apache2에는 기본적으로 openssl이 포함되어 있습니다. 따라서 별도의 설치 없이 바로 인증서를 설치 하 실 수 있습니다.

openssl의 실행파일은 Apache2/bin에 있으며, openssl.cnf 파일은 Apache2/conf에 있습니다.

따라서 작업을 하시기 전에 openssl.cnf 파일을 bin파일로 복사를 해주시면 됩니다.

또한 openssl의 버젼과 apache 버젼과는 어느정도 상관관계가 있으므로 서로 호완이 되는 버젼을 가지고 작업을 해야 하는 것 같습니다.

따라서 위의 버젼이 아니라면 아래의 내용이 적용되지 않을 수 있습니다.

 

※ SSL (Secure Socket Layer)
어플리케이션 계층과 TCP 사이에 놓인 계층으로 전송 데이터를 암호화하는 프로토콜입니다. 웹 브라우저와 웹 서버 사이에 보안 접속 통신을 말하며 데이터가 암호화되어 전송됩니다.  암호화 방식은 공개키, 개인키 방식으로 암호화하며 한쪽은 암호화, 다른 한쪽은 복호화 과정을 거쳐 데이터를 전송합니다. SSL은 인증서(certificate) 방식으로 동작합니다. SSL을 적용해야 할 페이지는 로그인 페이지, 개인 정보 페이지, 쇼핑몰의 구매 페이지등 개인정보나 보안에 신경써야 할 부분에 적용해야 합니다. 

 

준비 

우선 apache2/bin 폴더에서 libeay32.dll 과 ssleay32.dll 파일을 /windows/system32로 복사를 해줍니다.

 

1. csr 파일을 생성

cmd 명령어를 이용하여 openssl이 설치된 폴더로 이동한 후 아래의 명령어를 입력합니다.

 openssl  req -config openssl.cnf -new -out server-scmlab.csr

 

...

Enter PEM pass pharse : [개인키 생성 비번]

...

CSR 은 다음과 같은 항목을 가지고 있습니다.

- 국가 (country) : KO

- 구/군 (state or province)

- 시/도 (locality or city) 

- 회사명 (organization)

- 부서 (organizational unit)

- 도메인 주소 (common name) 

 

위 명령어를 수행한 후 CSR에 필요한 항목을 모두 작성하면 server-scmlab.csr 파일과 privkey.pem 파일이 생성됩니다. 

 

※ .csr 파일

CSR( Certificate Signing Request)의 약자로 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서 파일입니다.

 

2. 개인키 생성

openssl rsa -in privkey.pem -out server-scmlab.key

...

Enter pass phrase for privkey.pem : [위에서 입력한 비밀번호]

writing RSA key.

위 명령어를 수행하면 server-scmlab.key 파일이 생성됩니다.

 

3. 인증서 생성 

 openssl x509 -in server-scmlab.csr -out server-scmlab.crt -req -signkey server-scmlab.key -days 365

위 명령어를 수행하면 server-scmlab.crt 파일이 생성됩니다.

 

이렇게 생성한 피일 중 server-scmlab.crt와 server-scmlab.key 파일을 {아파치 경로}/conf 디렉토리에 복사합니다.

이제 아파치 서버에는 인증서와 개인키가 있습니다. 이 키를 사용하여 아파치 서버가 SSL로 동작할 수 있게

아파치 서버의 httpd.conf 파일을 수정합니다.

 

4. htpd.conf 수정

 

4.1 httpd에 80 밑에 아래 443 추가

Listen 80

Listen 443


 

4.2 Directory 주석 처리

<Directory />
Options FollowSymLinks
AllowOverride None
#Order deny,allow
#Deny from all
</Directory>


주석 처리 해줍니다.

 

4.3 주석 해제

include conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-ssl.conf
의 주석은 해지 합니다.

 

5. httpd-ssl.conf 수정

apache2/conf/extra 폴더의 httpd-ssl.conf를 수정합니다.

아래와 같이작성을 하면 ssl을 적용하면, vhost를 사용하지 않아도 다중도메인에 일괄적으로 80과, 443을 사용 하실 수 있습니다.

즉 기존에는 두개의 도메인에 ssl을 적용하기 위해서는 442, 443 등 여러개의 포터를 이용해야 했으나 아래와 같이 적용을 하면

여러개의 도메인 모두 ssl 사용시 443 포터를 공용으로 이용 하실 수 있습니다.

 

------------------------------------------------

NameVirtualHost *:80
NameVirtualHost *:443

 

<VirtualHost *:80>
    ServerAdmin webmaster@aaa.com
    DocumentRoot /www/aaa
    ServerName  aaa.com

    ServerAlias www.aaa.com
</VirtualHost>

 

<VirtualHost *:80>
    ServerAdmin webmaster@bbb.com
    DocumentRoot /www/bbb
    ServerName  bbb.com

    ServerAlias www.bbb.com
</VirtualHost>

.....

......

 

<VirtualHost *:443>
ServerAdmin webmaser@aaa.com

DocumentRoot /www/aaa
ServerName aaa.com
ErrorLog /apache2/logs/ssl-aaa-error_log
CustomLog /apache2/logs/ssl-aaa-access_log common
SSLEngine on
SSLCertificateFile /apache2/conf/server-aaa.crt
SSLCertificateKeyFile /apache2/conf/server-aaa.key
</VirtualHost>

 

 

위와 같이 적용을 한 후 apache2를 재 실행 합니다.

 

아파치를 다시 실행한 후 https://도메인명을 입력하시면 다음과 같은 메지시가 나옵니다.

fece4161d25c83bde91faee305ab13bb.jpg

 

 

735a1ba32334835f6dec79c6f25c23b4.jpg

 

이러한 에러를 해결하시려면......돈을 주고 신뢰기관으로 부터 인증을 받으시면 됩니다.;;;

단순히 테스트를 해보시고 싶으시면 설치를 해보시는 것도 좋을 듯합니다. 

 

참고 사이트 :

 

1. http://blog.daum.net/question0921/765

2. http://junemp.tistory.com/entry/Apache-SSL-%EC%84%A4%EC%B9%98-2

 

출처 : http://www.scmlab.com/4588

?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928141
    read more
  2. 메모리 부족 현상 (allowed memory size of 134217728 bytes..)

    Date2023.08.01 Category웹 프로그래밍 ByJaeSoo Views2207
    Read More
  3. Guzzle - cURL error 60: SSL certificate problem: unable to get local issuer certificate 문제 해결

    Date2023.07.30 Category웹 프로그래밍 ByJaeSoo Views2188
    Read More
  4. XE 캐시파일 재성생후 404 Oops, Sorry. Page is not found! 나올때

    Date2023.07.29 Category웹 프로그래밍 ByJaeSoo Views2117
    Read More
  5. XE - " Fatal error: Class 'Object' not found in " / class 낫파운드 오류

    Date2023.03.20 Category웹 프로그래밍 ByJaeSoo Views147
    Read More
  6. iOS 앱 개발을 위한 인증서 생성 및 관리

    Date2023.01.18 Category웹 프로그래밍 ByJaeSoo Views218
    Read More
  7. PHP 파서 이해하기 (<?php의 php를 생략하고 간단히 <? 태그 와 ?> 태그를 사용하는 방법)

    Date2016.08.10 Category웹 프로그래밍 ByJaeSoo Views322
    Read More
  8. XE 비회원 글쓰기 항목 지우기

    Date2016.04.28 Category웹 프로그래밍 ByJaeSoo Views499
    Read More
  9. 오른쪽 마우스 금지 소스 / 드래그 금지 소스

    Date2016.01.20 Category웹 프로그래밍 ByJaeSoo Views475
    Read More
  10. Strict standards and C5 support errors

    Date2015.12.02 Category웹 프로그래밍 ByJaeSoo Views524
    Read More
  11. ICT노트 :: 반응형웹을 만드는 기술은?

    Date2015.09.26 Category웹 프로그래밍 ByJaeSoo Views489
    Read More
  12. [번역] 2014년 가장 인기있는 5가지 프론트엔드 프레임워크 비교

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views862
    Read More
  13. 최고의 반응형 CSS 프레임워크 18선 (2013년 7월기준)

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views586
    Read More
  14. 가장 진보된 반응형 웹을 위한 프레임워크 UIkit

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views559
    Read More
  15. 반응형 웹을 위한 프론트-엔드 프레임 워크 (front-end framework for developing responsive web)

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views739
    Read More
  16. 한국형 반응형웹 프레임웍을 찾아서 - 왜 우리는 IE 7,8때문에 고통받아야 하는가?

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views611
    Read More
  17. 한국을 위한 CSS 그리드 디자인 프레임워크

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views531
    Read More
  18. 과연 반응형 웹 디자인만이 해답일까?

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views536
    Read More
  19. 반응형 웹 디자인의 단점

    Date2015.09.25 Category웹 프로그래밍 ByJaeSoo Views567
    Read More
  20. 웹디자인 신기술 트렌드 및 적용 사례

    Date2015.07.28 Category웹 프로그래밍 ByJaeSoo Views510
    Read More
  21. 제이쿼리(jQuery) 튜토리얼(Tutorial) 모음

    Date2015.07.28 Category웹 프로그래밍 ByJaeSoo Views1253
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너