보안
기본 접속 페이지 끄기
유효하지 않은 도메인 주소로 접속할 경우 접속을 허용하지 않는다.
/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