최근에 저는 웹사이트가 어떤 서버를 사용하고 있는지 확인하기 위한 -I 매개변수가 있는 새로운 명령 컬을 배웠습니다.
zhangxiaoliudeMacBook-Pro-2:~ zhangxiaoliu$ 컬 -I http: / /nginx.org/
HTTP/1.1 200 OK
서버: nginx/1.9.8
날짜: 2015년 12월 18일 금요일 06:30:33 GMT
내용 - 유형: text/html; charset=utf-8
콘텐츠 길이: 8347
최종 수정: 2015년 12월 9일 수요일 15:07:16 GMT
연결: keep-alive
Keep - Alive: timeout=15
ETag: "566843a4-209b"
Accept-Ranges: bytes
현재 사용되는 Nginx의 공식 버전은 1.9.8이며, nginx의 각 버전을 보면 알 수 있습니다. 일부 취약점이 있을 수 있으므로 보안 측면에서는 버전 번호를 숨기는 것이 상대적으로 안전할 것입니다!
1단계: nginx 구성 파일 수정
vim /usr/local/nginx/conf/nginx.conf (구성 파일의 경로는 nginx가 설치된 디렉터리에 따라 결정됩니다. 설정 파일은 사람마다 다릅니다. 초보자도 그냥 복사해서 붙여넣고 실행하면 결과가 심각해지므로, 이해하지 못하는 명령은 실행하지 마세요). (또는 이전) tcp_nodelay on; server_tokens off;
2단계: php-fpm 구성 파일 수정
php-fpm 구성 파일의 이름은 fastcgi.conf 또는 fcgi입니다. .conf, vim /usr/local/ nginx/conf/fastcgi.conf(nginx.conf와 동일한 디렉터리에 있음), vim 명령 ":/SERVER_SOFTWARE"를 사용하여 다음을 찾습니다. fastcgi_param SERVER_SOFTWARE nginx/$ nginx_version; "/$nginx_version"을 제거합니다.
3단계: nginx 서비스 다시 시작
서비스 nginx reload(무중단 서비스 다시 시작 다시 로드 또는 /etc/init.d/nginx reload, /etc/init.d/ 사용) 둘 다 서비스 시작 스크립트, 쉘 스크립트입니다), 어떤 사람들은 서비스 nginxd reload를 사용하는 대신 nginxd를 사용할지 nginx를 사용할지 여부는 /etc/init.d/에 있는 서비스 시작 스크립트 이름에 따라 다르다고 말할 수도 있습니다.
위 내용은 취약점 측면을 포함하여 Nginx 버전 번호를 숨기는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.