Nginx를 프록시로 사용할 때 모든 네트워크 요청은 Nginx를 통해 배포됩니다. 소프트웨어인 이상 허점은 있을 것입니다.
Nginx에는 필연적으로 몇 가지 허점이 있을 것이고 Nginx 역시 지속적으로 버전 반복을 진행하고 있으므로 외부에서 접근할 때 외부 세계가 우리의
Nginx 버전을 얻지 못하도록 해야 합니다. 버전 노출로 인한 일부 공격 위험을 줄입니다. (최신 버전으로 업그레이드하면 보안이 더욱 높아집니다.)
이 글에서는 외부 공격을 피하기 위해 Nginx의 버전 번호를 숨기는 방법을 소개합니다.
다음은 다양한 환경에서의 쿼리 방법을 소개합니다
브라우저를 통해 웹 페이지에 액세스할 수 있습니다. , F12를 눌러 들어갑니다. 검사 모드에서는 Network 패널을 통해 현재 페이지의 모든 네트워크 요청을 볼 수 있습니다. 인터페이스를 찾아 클릭하면 Headers
를 통해 다음 데이터를 볼 수 있습니다.Response Headers : Server:Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type,ADMIN-Authorization,API-Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Max-Age: 3600
Cache-Control: public,max-age=60,s-maxage=60
Content-Encoding: gzip
Content-Length: 3348
Content-Type: application/javascript
Date: Fri, 23 Sep 2022 01:55:37 GMT
Last-Modified: Tue, 08 Mar 2022 07:14:08 GMT
Server: nginx/1.23.0
Vary: Origin
다음에 nginx 버전 번호가 표시됩니다. 위의 예는 nginx 버전 번호가 노출되는 경우입니다. 번호가 숨겨져 있으면 다음과 같이 표시됩니다: 서버: nginx/
(2) Linux 환경에서
Windows의 쿼리 방식에 비해 Linux 쿼리는예를 들어 다음 사이트의 효과를 확인하세요.
[root@iZuf63tu3fn1swasqa62h8Z nginx]# curl -I zinyan.com HTTP/1.1 301 Moved Permanently Server: nginx Date: Fri, 23 Sep 2022 02:09:49 GMT Content-Type: text/html Content-Length: 178 Connection: keep-alive Location: https://zinyan.com/
nginx 버전이 숨겨지지 않으면 버전 번호가 nginx 뒤에 추가됩니다.
2. Nginx 버전 숨기기
숨기는 방법은 비교적 간단합니다. nginx.conf 구성 파일을 열어야 합니다. (보통 파일 디렉터리는nginx.conf 파일이 있는 디렉터리로 이동한 후 vim nginx.conf
를 사용하여 파일을 엽니다. (편집 모드로 들어가려면I를 누르세요) 그런 다음 서버 수준에서 추가합니다: server_tokens off;
원래 server_tokens가 있으면 값을 on으로 변경하고, 없으면 전체를 추가합니다.효과는 다음과 같습니다.
http{ ... server{ listen 80 default_server; listen [::]:80 default_server; server_name_; root /usr/share/nginx/html; server_tokens off;#添加这一项就可以了 location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
추가한 후 Esc
키를 눌러 편집 모드를 종료한 다음:wq를 입력하여 저장하고 종료합니다. (vim 명령에 익숙하지 않은 경우 https://zinyan.com/?p=23에서 배울 수 있습니다.) 마지막으로 실행:
nginx -s reload
nginx를 다시 시작합니다. 이렇게 하면 버전을 숨길 수 있습니다.
기본적으로 nginx는 버전 번호를 숨기지 않습니다. 우리가 직접 적극적으로 구성해야 합니다.
위 내용은 Nginx 버전 번호를 숨기는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!