03. 보안 및 성능

보안

기본 접속 페이지 끄기

유효하지 않은 도메인 주소로 접속할 경우 접속을 허용하지 않는다.

/etc/nginx/sites-available/default 파일 내용을 아래와 같이 수정한다.

server {
    listen 80 default_server;
    server_name _;
    return 444;
}

SSL

/etc/nginx/nginx.conf 파일의 내용을 아래와 같이 수정한다.

http {
        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        ssl_session_cache shared:SSL:10m;
        ssl_prefer_server_ciphers on;

        # ... 생략 ...
}

서버 정보 및 설정 숨기기

/etc/nginx/nginx.conf 파일의 내용에 아래 내용을 추가한다.

http {
    ##
    # For Security
    ##
    server_tokens off;

    fastcgi_hide_header X-Powered-By;
    fastcgi_hide_header X-Pingback;
    fastcgi_hide_header Link;

    proxy_hide_header X-Powered-By;
    proxy_hide_header X-Pingback;
    proxy_hide_header X-Link;
}

성능

최대 호스트 개수

server_names_hash_bucket_size 옵션으로 NGINX 웹 서버에서 처리할 수 있는 호스트의 최대 개수를 설정할 수 있다.

/etc/nginx/nginx.conf 파일을 열고 http 블록 안에서 지정한다.

gzip 설정

/etc/nginx/nginx.conf 파일을 열어 주석을 푼다.

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

캐시

이미지 압축

nginx 설정은 아니지만 참고할 만하다.

imagemagick 패키지를 설치한다. 맥에서는 아래와 같이 설치한다.

brew install imagemagick

jpg 파일은 아래와 같이 압축할 수 있다.

convert 원본.jpg -strip -alpha Remove -sampling-factor 4:2:0 -quality 85 -interlace JPEG -colorspace sRGB 압축이미지.jpg

png 파일은 아래와 같이 압축할 수 있다.

convert 원본.png -strip -alpha Remove 압축이미지.png

최종 수정일시: 2019-02-08 16:02

blog comments powered by Disqus