리버스 프록시를 위한 NGINX 구성 – 작성중

인터넷에도 정보는 많지만, 그래도 신뢰할 수 있는 정보인 책(NGINX HTTP SERVER)을 참고하였다.

  • ssl on; 보다는 listen 443 ssl; 을 이용한다.
  • TLS 버젼: 다음과 네이버는 TLS v1.2가 기본이다. SCI-HUB와 PubMed는 TLS v1.3을 이용한다. v1.2도 충분히 안전하다고는 한다.
  • 암호화 방식: 선택할 수 있는 옵션은 많다. openssl ciphers 명령어를 통하여 사용할 수 있는 목록을 확인할 수 있다. 확실하지는 않은데, 공개키 암호 방식의 대표주자인 RSA가 있는 것 1개와 대칭 열쇠 암호와 관련된 것이 포함되어야 하는 것 같다.
  • allow와 deny: 위에서 아래 순서대로 적용된다. 먼저 언급된 것이 더 큰 범위라면 아래쪽의 범위는 무시된다.
server {
        listen 443 ssl;
        ssl_certificate test.crt;
        ssl_certificate_key test.key;
        ssl_protocols TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS-AES-128-GCM-SHA256:ECDHE-RSA-AES128-SHA256";
        location / {
                allow 190.70.0.0/0;
                deny all;
                proxy_pass http://127.0.0.1:3000;
        }
}