Cách tùy chỉnh tên Nginx Server của bạn sau khi biên dịch từ nguồn trong CentOS

6 năm trước

Giới thiệu

Hướng dẫn này sẽ giúp bạn tùy chỉnh tên server trên máy chủ. Thông thường, các công ty sửa đổi tên server vì lý do bảo mật. Nếu một lỗ hổng được tìm thấy trong một phiên bản cụ thể của webserver, tin tặc có thể sao chép nó để khai thác hành vi.

Việc tùy chỉnh tên của nginx server yêu cầu sửa đổi mã nguồn (bài viết này sẽ hướng dẫn bạn từng bước) và yêu cầu biên dịch lại từ bài viết trước.

 

Tìm phiên bản server của bạn

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
 

Thay đổi Chuỗi Nginx Server

Quay trở lại thư mục nguồn nginx từ hướng dẫn cuối cùng.

cd ~/src/nginx/
vi +49 src/http/ngx_http_header_filter_module.c

Tìm các dòng:

static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

và sửa đổi thành:

static char ngx_http_server_string[] = "Server: the-ocean" CRLF;
static char ngx_http_server_full_string[] = "Server: the-ocean" CRLF;
 

Biên dịch Nginx với các tùy chọn mới

Bạn cần làm theo hướng dẫn này để xem các tùy chọn cấu hình hoặc tìm kiếm từ lịch sử dòng lệnh:

./configure ... 
make
make install
 

Dừng hiển thị phiên bản Server trong cấu hình

vi +19 /etc/nginx/nginx.conf

Thêm dòng dưới cấu hình http. Lặp lại cho https nếu có phần này

http {
...
server_tokens off;
....
 

Khởi động lại Nginx Service

Chúng ta cần khởi động lại nginx vì tệp nginx đã thay đổi:

service nginx restart
 

Xác minh kết quả

Hãy kiểm tra xem có thấy thông tin server không ngay bây giờ:

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