작은숲:위키노트/Nginx HTTPS 설정: 두 판 사이의 차이

잔글
Utolee90님이 Nginx HTTPS 설정 문서를 작은숲:위키노트/Nginx HTTPS 설정 문서로 이동했습니다: 제목 변경
잔글 (판 1개를 가져왔습니다: 자유위키의 위키노트 데이터 가져옴)
잔글 (Utolee90님이 Nginx HTTPS 설정 문서를 작은숲:위키노트/Nginx HTTPS 설정 문서로 이동했습니다: 제목 변경)
 
(같은 사용자의 중간 판 10개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[위키노트:Nginx|Nginx]]에서 HTTPS 연결을 설정하는 것은 <tt>server</tt> 블럭에서 한다. [[위키노트:아파치|아파치]]와 비교해서 크게 다른 것은 없다. 다만 SSL 인증서 설정할 때 차이가 있으니 이것만 주의하면 된다.
[[작은숲:위키노트/Nginx|Nginx]]에서 HTTPS 연결을 설정하는 것은 <tt>server</tt> 블럭에서 한다. [[작은숲:위키노트/아파치|아파치]]와 비교해서 크게 다른 것은 없다. 다만 SSL 인증서 설정할 때 차이가 있으니 이것만 주의하면 된다.
<source lang="nginx">
<syntaxhighlight lang="nginx">
server {
server {
     listen      80;
     listen      80;
16번째 줄: 16번째 줄:
     ssl_certificate    /etc/pki/ssl-unified.crt;
     ssl_certificate    /etc/pki/ssl-unified.crt;
     ssl_certificate_key /etc/pki/ssl.key;
     ssl_certificate_key /etc/pki/ssl.key;
}</source>
}</syntaxhighlight>
첫 번째 <tt>server</tt> 블럭은 80 포트, 즉 HTTP로 접속하면 HTTPS로 보내준다. 실제 SSL 적용은 두 번째 <tt>server</tt> 블럭에서 하고 있다.
첫 번째 <tt>server</tt> 블럭은 80 포트, 즉 HTTP로 접속하면 HTTPS로 보내준다. 실제 SSL 적용은 두 번째 <tt>server</tt> 블럭에서 하고 있다.
[[위키노트:아파치|아파치]]에서는 <tt>mod_ssl</tt> 확장 기능을 올려야하고 서버에서 SSL에 대한 설정을 따로 해야 하지만 [[위키노트:Nginx|Nginx]]에서는 <tt>server</tt> 블럭에서 <code>listen 443 ssl;</code>과 <code>ssl on;</code>을 설정하면 된다. 아파치의 가상 호스트 설정에서 SSL 설정은 대략 아래와 비슷하다.
[[작은숲:위키노트/아파치|아파치]]에서는 <tt>mod_ssl</tt> 확장 기능을 올려야하고 서버에서 SSL에 대한 설정을 따로 해야 하지만 [[작은숲:위키노트/Nginx|Nginx]]에서는 <tt>server</tt> 블럭에서 <code>listen 443 ssl;</code>과 <code>ssl on;</code>을 설정하면 된다. 아파치의 가상 호스트 설정에서 SSL 설정은 대략 아래와 비슷하다.
<source lang="apache">
<syntaxhighlight lang="apache">
SSLEngine on
SSLEngine on
SSLProtocol all -SSLv2
SSLProtocol all -SSLv2
27번째 줄: 27번째 줄:
SSLCertificateChainFile /etc/pki/sub.class1.server.ca.pem
SSLCertificateChainFile /etc/pki/sub.class1.server.ca.pem
SSLCACertificateFile /etc/pki/startssl/ca.pem
SSLCACertificateFile /etc/pki/startssl/ca.pem
</source>
</syntaxhighlight>
이처럼 아파치에서는 중계자 인증서(<code>sub.class1.server.ca.pem</code>)와 CA 인증서(<code>ca.pem</code>)를 따로 설정하지만 Nginx에서는 서버 인증서(<code>ssl.crt</code>)에 함께 넣어서 설정한다. 그래서 Nginx에서 SSL 설정을 하기 위해서는 이 세 인증서를 합해야 한다.
이처럼 아파치에서는 중계자 인증서(<code>sub.class1.server.ca.pem</code>)와 CA 인증서(<code>ca.pem</code>)를 따로 설정하지만 Nginx에서는 서버 인증서(<code>ssl.crt</code>)에 함께 넣어서 설정한다. 그래서 Nginx에서 SSL 설정을 하기 위해서는 이 세 인증서를 합해야 한다.
<source lang="console">
<syntaxhighlight lang="console">
# cat ssl.crt sub.class1.server.ca.pem ca.pem > ssl-unified.crt
# cat ssl.crt sub.class1.server.ca.pem ca.pem > ssl-unified.crt
</source>
</syntaxhighlight>
이 부분만 주의하면 크게 문제되는 부분은 없다.
이 부분만 주의하면 크게 문제되는 부분은 없다.
== 참고 ==
== 참고 ==
38번째 줄: 38번째 줄:
* [http://www.nextstep.co.kr/251 Nginx에 startssl.com 인증서 설정 방법]
* [http://www.nextstep.co.kr/251 Nginx에 startssl.com 인증서 설정 방법]
{{Nginx}}
{{Nginx}}
[[분류:공유]]
[[분류:위키노트/공유]]
[[분류:웹]]
[[분류:위키노트/웹]]
[[분류:서버]]
[[분류:위키노트/서버]]
[[분류:소프트웨어 설정]][[분류:위키노트에서 가져온 문서]]
[[분류:위키노트/소프트웨어 설정]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]]