개요
최근 API 서버를 구성하면서 nginx를 사용하고 있는데, response header에서 아래와 같이 서버 정보가 노출되어 잇어 삭제해달라는 요청이 있었다.
관련 설정에 대해서 적어둔다.
server_tokens
server_tokens는 오류 페이지만 Server의 Response Header에서 nginx 버전의 출력 여부를 결정한다.
server_tokens 값 | 설명 |
on | nginx 버전 출력. 기본값 |
off | nginx 버전 미출력 |
build | nginx 버전 및 빌드 이름 출력 |
설정 방법
Ubuntu 기준으로 /etc/nginx/nginx.conf에서 값을 설정할 수 있다.
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# 아래 설정 주석 해제
# server_tokens off;
... 생략 ...
}
기본적으로는 주석처리 되어 있는데, 해당 부분을 주석 해제하고 서비스를 재시작하면 된다.
서비스 재시작
systemctl restart nginx
적용 확인
이제 다시 접속해보면 Response Headers에서 서버 정보가 표시되지 않는 모습을 확인할 수 있다.
참고 문서
https://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens