가난한 세팅으로 SSL 적용하기

Imgur

집 인터넷은 이렇게 구성되어 있습니다
따로 도메인을 구매하지는 않은 상태이고 외부에서 내부로 접속하기 위해서 기본 DDNS로 설정해서 사용하고 있습니다.

ASUS 라우터에서는 DDN 서비스와 동시에 Let's Encrypt를 통해서 SSL/HTTPS 인증을 해 주는 기능을 가지고 있습니다. 이 인증파일을 가지고 Raspberry Pi에서 운영하고 있는 NGINX 서비스에서 적용할 수 있습니다

SSH를 통해 ASUS 공유기에 접속을 하고 인증파일을 찾습니다.

find / -iname *pem
admin@BLUE_CAVE:/tmp/home/root# find / -iname *pem
/jffs/.le/********.asuscomm.com/fullchain.pem
/jffs/.le/********.asuscomm.com/cert.pem
/jffs/.le/********.asuscomm.com/chain.pem
/rom/dh2048.pem

경로는 /jffs/.le/[DDNS명]으로 기본설정이 되는 것 같습니다.
해당 폴더로 들어가 보면 검색되는 파일명들과는 달리 4개의 파일이 있습니다.

cert.pem
chain.pem
domain.key
fullchain.pem

이 파일들을 nginx 설정엥 삽입 해야 합니다.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name ********.asuscomm.com; 

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
    ssl_prefer_server_ciphers on;

    ssl_certificate /etc/nginx/ssl/********.asuscomm.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/********.asuscomm.com/domain.key;
    ssl_trusted_certificate /etc/nginx/ssl/********.asuscomm.com/chain.pem;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }
}

현재는 Proxy 형태로 서비스하고 있는 port를 연결하고 있습니다.

SSL/TLS 설정 파일을 세팅합니다.

반응형

+ Recent posts