본문 바로가기

개발자

[Laragon] 라라곤 가상 호스팅(Virtual Host) 설정 및 SSL

728x90

[Laragon] 라라곤 가상 호스팅(Virtual Host) 설정 및 SSL

윈도우 PHP 개발 환경의 신세계를 열어주는 Laragon(라라곤)! 라라곤의 가장 강력한 무기는 클릭 몇 번으로 나만의 로컬 도메인을 만들고 SSL(HTTPS) 인증서까지 연동할 수 있다는 점입니다.

오늘 포스팅에서는 ① 라라곤에서 가상 호스팅 및 SSL을 설정하는 방법과, 세팅 후 ② https://localhost는 잘 되는데 https://프로젝트명.dev에서 비공개 연결 경고가 뜨는 현상의 확실한 해결 가이드를 정리해 드리겠습니다.

1. 가상 호스팅(Virtual Hosts) 자동 생성 및 사용법

기존 XAMPP나 아파치 환경에서는 가상 도메인을 하나 쓰려면 httpd-vhosts.conf 파일과 윈도우 hosts 파일을 일일이 메모장(관리자 권한)으로 열어 수정해야 했습니다. 라라곤에서는 이 과정이 폴더 생성 하나로 자동화됩니다.

1단계: 프로젝트 폴더 생성

  1. 라라곤이 설치된 경로의 www 폴더로 이동합니다. (기본 경로: C:\laragon\www)
  2. 그곳에 원하는 프로젝트 이름으로 새 폴더를 만듭니다. (예: coupon)
  3. 테스트를 위해 coupon 폴더 안에 index.php 파일을 만들고 아래 코드를 임시로 넣어둡니다.
  4.  
  5. PHP
     
    <?php echo "Hello, Laragon Virtual Host!"; ?>
    

2단계: 라라곤 재시작 및 호스트 등록

  1. 라라곤 제어판에서 [Stop]을 누른 후 다시 [Start All]을 누릅니다.
  2. 이때 윈도우 시스템에서 *"Windows\system32\drivers\etc\hosts 파일을 수정하려고 합니다. 허용하시겠습니까?"*라는 관리자 권한 알림창이 뜹니다. 반드시 [예(허용)]를 눌러주셔야 자동 도메인이 등록됩니다.
  3. 이제 브라우저 주소창에 http://mysite.test (또는 설정한 확장자)를 입력하면 방금 만든 페이지로 바로 접속됩니다.

2. SSL (HTTPS) 활성화 및 인증서 설치 방법

로컬 환경에서도 보안 프로토콜(https://)을 완벽하게 테스트할 수 있도록 라라곤이 자체 로컬 SSL 인증서를 생성하고 윈도우 시스템에 자동으로 등록해 줍니다.

1단계: SSL 기능 켜기

  1. 라라곤 제어판 빈 곳에 마우스 우클릭을 합니다.
  2. 메뉴에서 [Apache] ➔ [SSL] ➔ [Enabled]를 클릭하여 체크 표시가 되도록 활성화합니다.

2단계: 윈도우 신뢰할 수 있는 기관에 인증서 등록 (최초 1회)

  1. 다시 제어판 우클릭 후 [Apache] ➔ [SSL] ➔ [Add laragon.crt to Trust Store]를 클릭합니다.
  2. *"보안 경고: 인증서를 설치하시겠습니까?"*라는 윈도우 시스템 팝업이 뜨면 [예]를 누릅니다. 이 과정을 거쳐야 브라우저가 라라곤 인증서를 '안전함'으로 인식합니다.
  3. 라라곤 제어판에서 [Stop] ➔ [Start All]을 눌러 웹 서버를 재시작합니다. 제어판의 아파치 포트 자리에 80 443이 같이 떠 있다면 정상적으로 HTTPS 포트가 열린 것입니다.

3. 🚨 "연결이 비공개로 설정되어 있지 않습니다" 에러 해결법

설정을 마친 후 https://localhost는 자물쇠 마크와 함께 잘 열리는데, 정작 가상 도메인인 https://mysite.dev로 접속하면 아래와 같이 크롬 브라우저에서 NET::ERR_CERT_COMMON_NAME_INVALID 에러를 뿜는 경우가 있습니다.

이 오류가 발생하는 원인과 해결책은 다음과 같습니다.

원인: 크롬의 .dev TLD 규제 정책

현재 구글 크롬을 비롯한 최신 브라우저들은 .dev나 .app 같은 특정 최상위 도메인(TLD)에 대해 무조건 실제 공인기관에서 발급한 정식 SSL 인증서만 강제(HSTS 목록 등록)하도록 보안 정책이 강화되었습니다. 따라서 라라곤이 발행한 로컬 사설 인증서를 가짜로 판단하고 차단하는 것입니다.

해결책 1: 로컬 전용 확장자 .test로 변경 (가장 추천)

구글 크롬이 강제 규제하지 않는 로컬 개발 전용 최상위 도메인인 .test나 .local로 확장자를 바꾸는 것이 가장 확실하고 근본적인 해결책입니다.

  1. 라라곤 우측 상단 톱니바퀴(설정) 버튼 클릭 ➔ [General] 탭으로 이동합니다.
  2. Hostname 항목이 {name}.dev로 되어 있다면 이를 {name}.test로 변경합니다.
  3. 라라곤을 [Stop] ➔ [Start All]로 재시작합니다. (윈도우 호스트 권한 팝업 시 '예' 선택)
  4. 이제 브라우저 창을 완전히 닫았다가 다시 열고 https://mysite.test로 접속하면 경고 없이 깨끗하게 접속되는 것을 확인할 수 있습니다.

해결책 2: 라라곤 SSL 인증서 강제 리프레시

만약 확장자를 바꿨는데도 일시적으로 구형 인증서가 남아 동일한 에러가 난다면 인증서를 갱신해 주어야 합니다.

  1. 라라곤 제어판 우클릭 ➔ [Apache] ➔ [SSL] ➔ [Enabled]를 체크 해제했다가 다시 체크합니다. (이때 라라곤이 새로 바뀐 도메인을 기반으로 인증서를 자동 갱신합니다.)
  2. 다시 우클릭 ➔ [Apache] ➔ [SSL] ➔ [Add laragon.crt to Trust Store]를 실행해 윈도우에 새 인증서를 밀어 넣습니다.
  3. 웹 서버를 재시작합니다.

해결책 3: 크롬 HSTS 도메인 캐시 삭제

브라우저가 옛날 오류 정보를 기억하고 있을 때 효과적인 방법입니다.

  1. 크롬 주소창에 chrome://net-internals/#hsts 를 입력하고 이동합니다.
  2. 맨 아래 Delete domain security policies 항목으로 이동합니다.
  3. Domain 입력란에 오류가 나던 도메인(예: coupon.dev)을 입력하고 [Delete] 버튼을 누릅니다.
  4. 크롬을 완전히 종료(창 모두 닫기)한 후 다시 실행합니다.

💡 꿀팁: 개발 중 급할 때 쓰는 "치트키" 우회 명령어

당장 코드를 확인해야 하는데 SSL 인증서 에러 화면 때문에 페이지가 넘어가지 않는다면, 에러 화면이 켜진 상태에서 마우스로 빈 곳을 한 번 클릭한 뒤 키보드로 공백 없이 다음 단어를 타이핑해 보세요.

thisisunsafe (이것은 안전하지 않다)

아무 창도 뜨지 않지만, 타이핑을 마치자마자 브라우저가 경고를 강제로 우회하여 개발 중인 웹사이트 화면을 즉시 보여줍니다. (임시방편이므로 가급적 위의 해결책을 통해 .test 도메인으로 세팅을 잡아두시는 것을 강력히 추천합니다!)

728x90
LIST