버전을 숨겨서 nginx 만 표시하도록 옵션이 있지만 아무것도 숨기거나 헤더를 변경하지 않도록 숨길 수있는 방법이 있습니까?
답변
Apache와 마찬가지로 소스를 빠르게 편집하고 다시 컴파일합니다. 에서 Calomel.org :
Server : 문자열은 실행중인 http 서버 유형 및 가능한 버전을 알려주기 위해 클라이언트로 다시 전송되는 헤더입니다. 이 문자열은 Alexia 및 Netcraft와 같은 장소에서 인터넷에 존재하는 웹 서버 수와 유형에 대한 통계를 수집하는 데 사용됩니다. Nginx의 저자 및 통계를 지원하려면이 문자열을 그대로 유지하는 것이 좋습니다. 그러나 보안을 위해 사람들이 실행중인 것을 알지 못하게하고 소스 코드에서이를 변경할 수 있습니다. 소스 파일
src/http/ngx_http_header_filter_module.c
을 편집하여
48 행과 49 행을보십시오. 문자열을 원하는 것으로 변경할 수 있습니다.
## vi src/http/ngx_http_header_filter_module.c (lines 48 and 49)
static char ngx_http_server_string[] = "Server: MyDomain.com" CRLF;
static char ngx_http_server_full_string[] = "Server: MyDomain.com" CRLF;
2011 년 3 월 편집 : Nginx의 표준 HttpHeadersModule 을 갈래의 HttpHeadersMoreModule로 대체하여 새로운 옵션을 지적하기 위해 아래의 Flavius를 제안 합니다. 표준 모듈을 다시 컴파일하는 것은 여전히 빠른 해결 방법이며 표준 모듈을 사용하고 서버 문자열을 자주 변경하지 않는 경우에 적합합니다. 그러나 그 이상을 원한다면 HttpHeadersMoreModule은 강력한 프로젝트이며 HTTP 헤더로 모든 종류의 런타임 블랙 매직을 수행 할 수 있습니다.
답변
nginx를 사용하여 백엔드 애플리케이션을 프록시하고 백엔드가 Server:
nginx를 겹쳐 쓰지 않고 자체 헤더를 알리려면 server {…}
스탠자 내부로 이동하여 다음을 설정할 수 있습니다 .
proxy_pass_header Server;
그러면 nginx가 해당 헤더 만 남겨두고 백엔드가 설정 한 값을 다시 쓰지 않도록합니다.
답변
마지막 업데이트는 얼마 전에 이루어 졌으므로 우분투에서 나를 위해 일한 것은 다음과 같습니다.
sudo apt-get update
sudo apt-get install nginx-extras
그런 다음 /etc/nginx/nginx.conf에 있는 http
섹션에 다음 두 줄을 추가하십시오 nginx.conf
.
sudo nano /etc/nginx/nginx.conf
server_tokens off; # removed pound sign
more_set_headers 'Server: Eff_You_Script_Kiddies!';
또한로 nginx를 다시 시작하는 것을 잊지 마십시오 sudo service nginx restart
.
답변
간단하게 /etc/nginx/nginx.conf를 편집하고 주석을 제거하십시오.
#server_tokens off;
http 섹션을 검색 하십시오.
답변
매우 간단합니다. 서버 섹션에 다음 줄을 추가하십시오.
server_tokens off;
more_set_headers 'Server: My Very Own Server';
답변
특별한 모듈이 있습니다 : http://wiki.nginx.org/NginxHttpHeadersMoreModule
이 모듈을 사용하면 지정한 출력 또는 입력 헤더를 추가, 설정 또는 지울 수 있습니다.
이 표준의 향상된 버전이다 헤더 가 같은 “헤더 내장”리셋 또는 소거와 같은 유틸리티를 더 제공하기 때문에 모듈
Content-Type
,Content-Length
및Server
.또한 more_set_headers 및 more_clear_headers 지시문으로 출력 헤더를 수정하는 동안 옵션을
-s
사용하여 선택적 HTTP 상태 코드 기준을 지정하고 옵션을 사용하여 선택적 컨텐츠 유형 기준 을 지정할 수 있습니다 …-t
답변
Nginx Extras 설치
sudo apt-get update
sudo apt-get install nginx-extras
nginx.conf (http 섹션 아래)에 다음 두 줄을 추가하여 서버 세부 정보를 응답에서 제거 할 수 있습니다.
more_clear_headers Server;
server_tokens off;