일단 먼저 아래 명령어로 nginx 서버와 필요한 패치 파일들을 다운로드 합니다. 대부분의 리눅스 배포판에서 제공되는 OpenSSL의 버전이 1.0.x인 관계로, 저희는 OpenSSL 1.1.1을 별도로 다운로드 받아 이용하도록 합니다.

 

* 글을 작성하는 시점에서 nginx의 최신 버전은 1.17.6입니다.

 

wget http://nginx.org/download/nginx-1.17.6.tar.gz

tar xvf nginx-1.17.6.tar.gz && cd nginx-1.17.6

wget -O - https://s2.commania.co.kr/nginx/nginx-openssl-1.1.1.patch | patch -p1

wget -O - https://s2.commania.co.kr/nginx/ssl-chacha-priority.patch | patch -p1 -d openssl-1.1.1d/

wget -O - https://s2.commania.co.kr/nginx/ssl-tls13.patch | patch -p1 -d openssl-1.1.1d/

 

패치가 모두 적용되었으면 아래 명령어로 nginx 서버를 컴파일 합니다. (볼드체 한 부분이 중요합니다.)

 

./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-file-aio --without-http_memcached_module --without-http_upstream_hash_module --without-http_upstream_ip_hash_module --without-http_upstream_least_conn_module --without-http_upstream_keepalive_module --without-http_ssi_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_v2_module ​--with-openssl=./openssl-1.1.1d --with-openssl-opt='-DOPENSSL_NO_HEARTBEATS enable-ec_nistp_64_gcc_128 enable-weak-ssl-ciphers'

make -j4

sudo make install

 

이제 nginx의 설치가 끝났습니다. HTTP/2 및 TLS1.3 적용을 원하는 host의 conf 파일에서, 아래와 같이 설정을 추가합니다. 볼드체 한 부분이 중요합니다.

 

server {
        listen       111.111.111.111:443 ssl http2;

        

        ssl_certificate /etc/nginx/인증서위치.crt;
        ssl_certificate_key /etc/nginx/개인키위치.key;

        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:kEDH+AESGCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:SRP-RSA-AES-128-CBC-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256;

파일을 모두 수정하고 nginx를 reload 하시면 HTTP/2 및 TLS1.3 적용이 완료됩니다. 테스트는 SSLLabs에서 가능합니다.

 

* 본 사이트는 HTTP/2 및 TLS1.3을 모두 사용중입니다.

1.png

 

 

2.png

 

 

 


번호 제목 글쓴이 조회 날짜
218 리눅스에서 프로세스 종료하기 2 컴퓨터매니아 8455 2013.11.05
217 리눅스 커널(linux kernel)에 대한 설명! 7 아름다운소망 8372 2013.10.11
216 헌 외장하드 활용 6 jay 8300 2013.12.23
215 [Apache 웹서버] 1. 강좌를 시작하며 (OS, etc.) 8 컴퓨터매니아 8299 2013.10.13
214 리눅스 서버운영체제인(CentOS)! 첫걸음 4 file 아름다운소망 8054 2013.10.12
213 VMware - USB로 부팅하기 1 의미없는시간 8018 2013.10.09
212 우분투에서 오픈수세로 갈아타다~ 2 gam123 7962 2013.11.19
211 리눅스의 init과 RunLevel 3 컴퓨터매니아 7945 2013.11.04
210 LXLE 14.04 "한글설정"과 "한/영" 키 사용......^^ 19 file 언제나당당 7936 2014.06.16
209 Linux를 USB에 꾸겨 넣어 사용하는 여러가지 방법 5 인덕 7932 2014.10.19
208 CentOS 7 - XFS(파일 시스템)과 kpatch 4 file 아름다운소망 7763 2014.11.13
207 리눅스(linux) 기초 - 셀=쉘(Shell) 1 file 아름다운소망 7698 2013.10.12
206 1. xubuntu 설치하기 10 file 카리스마조 7510 2013.10.09
205 grub rescue > _ 3 jay 7475 2013.12.10
204 리눅스 시스템 백업 복구툴 1 컴터그만하고공부해라 7390 2015.01.06
203 WanDrv6.1 자동 수동을 선택해 윈도버전에 맞게 실행해주는 배치파일및 사용법입니다. 11 file 돌나물 7360 2014.06.07
202 우분투에서 HWP 파일 연결시키는 방법. 1 file eentire 7353 2013.11.03
201 컴맹도 하는 우분투 14.04 설치하기! 3 게릴라웹 7317 2014.08.06
200 [우분투 환히 알기] 시냅틱 패키지 관리자 3 의미없는시간 7237 2013.10.12
199 리눅스에서 HDD와 USB의 읽기 쓰기 속도 확인 구르뫼취한농부 7213 2015.01.10

 빠른 글쓰기




   Copyright 2013-2023 LinuxForum