CentOS에서 소스 코드를 컴파일하여 Nginx 서버 이름을 사용자 정의하는 방법

CentOS에서 소스 코드를 컴파일하여 Nginx 서버 이름을 사용자 정의하는 방법

2022-06-01 last update

5 minutes reading Security CentOS Nginx

소개


본 강좌는 how to compile nginx from source 위의 글의 후속 내용으로 호스트의 서버 이름을 사용자 정의하는 데 도움을 줍니다.일반적으로 회사는 보안상의 이유로 서버 이름을 수정합니다.특정 버전의 웹 서버에서 빈틈이 발견되면 해커는 이 빈틈을 복제하여 이 행위를 이용할 수 있다.
사용자 정의nginx 서버의 이름은 원본 코드를 수정해야 합니다. (이 강좌는 점차적으로 당신을 지도할 것입니다.) 그리고 이전 문장의 내용을 다시 컴파일해야 합니다.

서버 버전 찾기


curl -I http://example.com/

HTTP/1.1 200 OK
Server: nginx/1.5.6 # <-- this is the version of nginx you currently use
Date: Thu, 17 Nov 2013 20:40:18 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 17 Nov 2013 20:37:02 GMT
Connection: keep-alive
ETag: "51f18c6e-264"
Accept-Ranges: bytes

Nginx 서버 문자열 변경


이전 강좌의nginx 원본 디렉터리를 되돌려줍니다.원본 코드 다운로드 섹션 다음에 이전 강좌 on compiling from source 를 보십시오.
cd ~/src/nginx/
vi +49 src/http/ngx_http_header_filter_module.c
행 찾기:
static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
다음과 같이 수정합니다.
static char ngx_http_server_string[] = "Server: the-ocean" CRLF;
static char ngx_http_server_full_string[] = "Server: the-ocean" CRLF;

새 옵션을 사용하여 Nginx 다시 컴파일


this guide 에 따라 구성 옵션을 보거나 명령줄 기록에서 검색해야 합니다.
./configure ... 
make
make install

구성에서 서버 버전 표시 중지


vi +19 /etc/nginx/nginx.conf
http 설정에 이 줄을 추가합니다.이 부분이 있으면 https에 이 동작을 반복하십시오
http {
...
server_tokens off;
....

Nginx 서비스 재시작


nginx 파일이 변경되었기 때문에 nginx를 다시 시작해야 합니다.
service nginx restart

검증 결과


서버 정보가 표시되는지 확인합니다.
curl -I http://example.com/

HTTP/1.1 200 OK
Server: the-ocean
Date: Thu, 17 Nov 2013 20:50:17 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 17 Nov 2013 20:37:02 GMT
Connection: keep-alive
ETag: "51f18c6e-264"
Accept-Ranges: bytes
Sairam Kunala 편저