“새 블로그를 하나 더 만들까?”
그렇게 시작했다가… 케케묵은 서버를 정리하고 HTTPS까지 붙였습니다.
2012년에 만든 studydev.com, 드디어 13년 만에 초록 자물쇠 완료!
왜 시작했나?
- ASUS 공유기의 80 포트포워딩이 가끔 죽어버리는 현상이 지속 발생하기 시작. 그래서 공장초기화를 함.
- 그리고 블로그 하나 더 만들려다 보니, 기존 서버가 너무 낡아 있음을 인지. PHP 7.x 에서 8.4로 업그레이드
- HTTP만 쓰고, 설정이 꼬여서 주소가 엉뚱하게 튕기고, 보안도 아쉽고… HTTPS로 업그레이드
- 그래서 새로 만드는 대신 기존 환경을 업그레이드하기로 했습니다. 이제 새로운 서버로 옮겨갈 시간이 도래함.
중간에 만난 문제들
- ASUS 공유기가 지속적으로 80 포트포워딩이 죽는 현상이 발생함.
- 주소가 자꾸 다른 곳으로 튕김
- blog.igotobook.com으로 가면 www.studydev.com으로 넘어감 → 가상호스트(vhost) 우선순위와 워드프레스 리다이렉트가 엉킨 문제
- 브라우저에서 “연결이 거부됨(REFUSED)” → 서버는 정상인데, 공유기에서 443(HTTPS) 포트 포워딩이 안 되어 있었음
- SSL(인증서) 발급이 403 Forbidden → 인증서 확인 파일(ACME)이 막혀서 그랬음. → 인증 확인 폴더만 예외로 열어주니 해결
- Confluence/Jira 같은 서비스 프록시 → WebSocket(동시 편집)을 쓰는 Confluence는 ‘웹소켓 프록시’도 필요
이렇게 고쳤다
- ASUS 공유기 80 포트포워딩이 막히거나 지속적으로 문제가 반복되면 공장 초기화를 한번 시도
- Reverse-Proxy 가상호스트 정리: 사이트별로 설정을 깔끔하게 분리, 겹치는 규칙 제거
- Let’s Encrypt 적용: 무료 인증서 + 자동 갱신 설정(만료 걱정 끝)
- 80 → 443 자동 이동: 다만 인증서 확인 폴더(/.well-known/…)는 예외 처리
- 공유기 443 포트 포워딩: 외부에서 HTTPS로 들어올 수 있게
- 보안 헤더/HSTS 추가: HTTPS가 안정화된 뒤에 HSTS(HTTPS만 사용)도 적용
- 프록시/웹소켓 지원: Confluence 협업 편집(웹소켓) 정상 작동
대략 아래 느낌으로 사용중인데, 구조가 몇 가지 변경되었으나 거의 유사함.

나도 따라 하고 싶다! (아주 간단 버전)
- ASUS 공유기 기존 포트포워딩 및 관련 셋업 내용 백업
- 문제가 따라올까봐 파일 대신 사진 찍어서 복원함
- WIFI가 리셋이 되므로 모든 집안 장치(IoT 포함)를 다시 잡는 불편함이 발생함
- 현재 상태 점검
- 웹서버 하나만 쓰는지 확인 (중복 실행 X), 어리석게 HTTPD 버리고 Local에서 컴파일한 APACHE2 데몬을 쓴다는걸 잊고 있었음.
- 각 도메인(vhost) 설정이 따로 있는지 확인하고 이번 기회에 제대로 최적화함.
- HTTPS 준비
- Let’s Encrypt로 인증서 발급 (acme.sh 또는 certbot)
- 인증 확인 경로(/.well-known/acme-challenge/)는 접근 가능하게
- Cron으로 갱신하도록 설정 완료
- 포워딩/방화벽
- 공유기에서 443 포트 포워딩
- 서버 방화벽에 https 허용
- 자동 이동(리다이렉트)
- 80(HTTP)으로 들어오면 443(HTTPS)로 자동 이동
- 인증 갱신 폴더만 예외
- 보안 다듬기
- 보안 헤더(X-Content-Type-Options, Referrer-Policy 등)
- 안정화 후 HSTS(HTTPS만 쓰기) 적용
- 워드프레스 품질 업
- 업로드 제한(예: 100MB)으로 올리고 PHP-FPM + Apache 재시작
실전 팁
- ChatGPT는 사랑입니다!: 없었다면 아마 성공하지 못했을 겁니다. 계속 물어보고 문제를 해결합니다.
- 문제가 “외부에서만” 발생하면: 서버 로그에 흔적이 거의 없습니다. → 공유기/포트부터 의심!
- SSL 발급 403: “인증 파일이 막혔구나” 생각하고, 그 폴더만 예외로 열어 주세요.
- 갑자기 500 오류: 워드프레스/플러그인/도구가 너무 오래됐을 수 있어요. → 업데이트가 최고의 해결책
- 큰 파일 업로드가 안 된다: PHP 설정(업로드/포스트 크기) + 재시작까지 해야 반영돼요.
체크리스트 (저장해두면 두고두고 씀)
- 웹서버 하나만 사용(중복 서비스 끄기) httpd 데몬인줄 알고 계속 작업했는데, 알고보니 apache2가 따로 있었다는걸 까먹었음.
- 도메인별 vhost 분리, 겹침/우선순위 혼선 제거
- Let’s Encrypt 발급 + 자동 갱신 설정
- 80 → 443 리다이렉트 (인증 폴더 예외!)
- 공유기 443 포워딩, 서버 방화벽 https 허용
- 보안 헤더/HSTS 적용(점진적으로)
- 프록시(WebSocket 포함) 서비스는 규칙 추가
- 워드프레스 업로드 용량 상향 + 재시작
- 로그 경로 통일(나중에 찾기 쉽습니다)
마치며
새 블로그를 만들려고 시작했다가, 기존 집을 깔끔하게 재정비 해 봤습니다.
그 덕분에 studydev.com은 더 빠르고, 더 안전하고, 더 관리하기 쉬운 사이트가 됐어요.



