인터넷에도 정보는 많지만, 그래도 신뢰할 수 있는 정보인 책(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;
}
}