Homepage

[서버] 지금 이 사이트, 어떤 웹서버로 서빙되고 있는지 확인하는 법

aram 2026. 7. 24. 12:25

배경

MIME 타입 설정을 손보려는데, 그 전에 지금 사이트가 Apache인지 Nginx인지 아니면 다른 웹서버인지부터 확인해야 했다. .htaccess 문법이 서버 종류에 따라 먹히는지 안 먹히는지가 달라지기 때문.

1. 가장 간단한 방법 — curl로 응답 헤더 확인

서버에 터미널(SSH) 접속이 가능하면:

curl -I https://example.com/

결과에 Server: 줄이 있는지 본다. 다만 요즘은 보안상 이 헤더를 일부러 숨기는 서버도 많아서, 안 보이면 아래 방법으로 넘어가면 된다.

2. 브라우저에서 확인 (SSH 없이 가능)

개발자도구(F12) → Network 탭 → 아무 요청이나 클릭 → 오른쪽 Headers 탭 → Response Headers 섹션에서 Server 항목을 찾는다. (없으면 서버가 이 헤더를 숨긴 것)

3. 파일 매니저 UI로 짐작하기

호스팅 관리 콘솔의 파일 매니저 UI 모양(Files > htdocs > 도메인... 같은 경로 구조, 권한/소유자 컬럼이 있는 형태)만 봐도 어떤 관리 패널인지 짐작할 수 있는 경우가 있다. 예를 들어 이런 UI는 CyberPanel의 전형적인 모습인데, CyberPanel은 웹서버로 OpenLiteSpeed를 쓴다 — Apache도 Nginx도 아닌 제3의 서버다. 이 경우 .htaccess의 AddType 문법은 OpenLiteSpeed에서도 대부분 호환되긴 하지만, 확실하게 하려면 CyberPanel 관리자 페이지에서 직접 MIME 타입을 설정하는 게 더 확실하다.

4. SSH로 뭐가 떠있는지 직접 확인 (가장 확실)

ps aux | grep -E 'apache2|httpd|nginx|lshttpd|litespeed'
  • lshttpd가 보이면 OpenLiteSpeed
  • nginx가 보이면 Nginx
  • apache2/httpd가 보이면 Apache

CyberPanel을 쓰는 서버라면 관리자 페이지(보통 포트 8090, https://서버IP:8090)에 로그인할 수 있는지도 확인해볼 만하다. 로그인 가능하면 대시보드에서 이 사이트가 뭘로 서빙되는지 바로 보이고, MIME 타입도 SSH 없이 UI에서 추가할 수 있어서 그 경로가 제일 빠르다.

실제로 확인해본 결과

$ curl -I https://example.com/
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 24 Jul 2026 03:23:55 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Link: <https://example.com/wp-json/>; rel="https://api.w.org/"
Link: <https://example.com/wp-json/wp/v2/pages/64>; rel="alternate"; title="JSON"; type="application/json"
Link: <https://example.com/>; rel=shortlink
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Permitted-Cross-Domain-Policies: master-only
alt-svc: h3=":443"; ma=86400
Referrer-Policy: strict-origin-when-cross-origin

Server: nginx로 바로 확인됐다. 헤더를 안 숨기는 서버라 첫 번째 방법(curl)만으로 끝났던 케이스. 이후 MIME 타입 설정은 Nginx 설정 문법 기준으로 진행하면 됐다.