Skip to content

Apache:Httpd:SSL

httpd 설치시 OpenSSL 모듈을 추가해야 한다. https 보안 프로토콜을 사용하기 위해 진행해야 한다.

OpenSSL 개인키 생성방법

  1. httpd 루트 디렉터리로 이동한다.
  2. /bin/openssl.exe 실행.
  3. OpenSSL>와 같이 커맨드라인이 전환되는것을 확인한다.
  4. 암호화에 사용할 개인키를 생성한다.
    req -config ..\conf\openssl.cnf -new -out mydomain.csr
  5. 개인키 암호를 입력한다.
  6. 국가코드를 입력한다.
    Country Name (2 letter code) [AU]:KO
  7. 그밖의 정보를 입력한다.
  8. 아래의 파일이 생성되는것을 확인한다.
    /bin/.rnd
    /bin/privkey.pem
    /bin/mydomain.csr
  9. 아파치에서 사용할 공개키를 설정한다.rsa -in privkey.pem -out mydomain.key
  10. 위에서 입력한 개인키 암호를 다시 입력한다.
  11. 인증서를 위한 설정을 진행한다.
    req -config ..\conf\openssl.cnf -new -x509 -days 365 -key mydomain.key -out mydomain.crt
  12. 국가코드를 입력한다.
    Country Name (2 letter code) [AU]:KO
  13. 그밖의 정보를 입력한다.
  14. 아래의 파일이 생성되는것을 확인한다.
    /bin/mydomain.crt, /bin/mydomain.key
  15. 완료 (종료한다).
    OpenSSL> exit

위의 그밖의 정보는 아래와 같이 입력하면 된다 (입력하지 않아도 된다).

State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:BLACKHOLE
Organizational Unit Name (eg, section) []:mydomain.com
Common Name (eg, YOUR name) []:mydomain.com
Email Address []:[email protected]

OpenSSL 사용방법

아래의 모듈을 연동해야 한다. (OpenSSL을 함께 설치할 경우 기본설정)

LoadModule ssl_module modules/mod_ssl.so
<IfModule ssl_module>
SSLRandomSeed startup  builtin
SSLRandomSeed connect  builtin
</IfModule>

OpenSSL 유효성검증을 추가한다.

<IfModule ssl_module>
...
</IfModule>

HTTPS 가상호스트를 지정한다. (기본포트 443)

NameVirtualHost *:443
<VirtualHost *:443>
...
</VirtualHost>

OpenSSL을 작동시킨다. (OpenSSL 보안키를 사용해야 한다.)

SSLEngine on
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
SSLCertificateFile "conf/openssl/mydomain.crt"
SSLCertificateKeyFile "conf/openssl/mydomain.key"

See also