서브도메인+우분투+Asus공유기+ssl연결 하는 방법

서브도메인+우분투+Asus공유기+ssl연결 하는 방법

아수스(Asus) 공유기 환경에서 우분투 홈 서버를 운영 중이시군요. 외부에서 접속 가능한 **서브 도메인(예: blog.mydomain.com)**을 만들고 **SSL(HTTPS)**까지 적용하는 전체 과정을 6단계로 정리해 드립니다.

핵심 흐름은 [도메인 업체 설정] → [공유기 설정(DDNS/포트포워딩)] → [우분투 서버 설정] → [SSL 발급] 입니다.


1단계: Asus 공유기 DDNS 설정 (유동 IP 고정)

가정용 인터넷은 IP가 수시로 바뀝니다. 이를 고정된 주소로 바꿔주는 DDNS 설정이 필수입니다.

  1. 공유기 관리자 페이지(192.168.1.1 또는 설정한 IP) 접속.

  2. WAN > DDNS 탭으로 이동.

  3. DDNS 클라이언트 활성화로 선택.

  4. 서버 선택: WWW.ASUS.COM (무료 제공).

  5. 호스트 이름: 원하는 영문 입력 (예: myhome).

    • 결과: myhome.asuscomm.com이라는 주소가 생성됩니다. 이 주소를 기억해두세요.

  6. [적용] 클릭.

2단계: 도메인 DNS 레코드 추가 (CNAME)

도메인을 구입한 곳(가비아, 후이즈, Cloudflare 등)에서 설정을 변경합니다. 서브 도메인이 집 IP(DDNS 주소)를 가리키게 해야 합니다.

  1. 도메인 관리 페이지의 DNS 설정 메뉴로 이동.

  2. 레코드 추가 클릭.

    • 타입(Type): CNAME (A 레코드보다 CNAME이 유동 IP 환경에 유리합니다)

    • 호스트(Name): 서브 도메인 이름 (예: blog라고 쓰면 blog.mydomain.com이 됨)

    • 값/목적지(Value/Target): 아까 만든 DDNS 주소 (myhome.asuscomm.com)

    • TTL: 기본값 (또는 3600)

  3. 저장합니다. (적용까지 10분~1시간 소요될 수 있습니다.)

3단계: 우분투 서버 내부 IP 고정 (DHCP 할당)

서버를 재부팅해도 내부 IP(예: 192.168.29.196)가 바뀌지 않도록 공유기에서 고정합니다.

  1. 공유기의 LAN > DHCP 서버 탭으로 이동.

  2. 아래쪽 수동 할당(Manually Assigned IP) 목록에서 우분투 서버의 MAC 주소를 선택하고 현재 IP(192.168.29.196)를 추가합니다.

  3. [적용] 클릭.

4단계: 포트 포워딩 (Port Forwarding)

외부에서 들어오는 신호(80, 443)를 우분투 서버로 넘겨줍니다.

  1. 공유기의 WAN > 가상 서버/포트 포워딩 탭으로 이동.

  2. 포트 포워딩 활성화: .

  3. 프로필 추가 (2개 필요):

    • HTTP: 외부 포트 80, 내부 포트 80, 내부 IP 192.168.29.196, 프로토콜 TCP

    • HTTPS: 외부 포트 443, 내부 포트 443, 내부 IP 192.168.29.196, 프로토콜 TCP

  4. [적용] 클릭.

5단계: 아파치 가상 호스트(VirtualHost) 설정

이제 우분투 서버가 “이 서브 도메인으로 들어오면 이 폴더를 보여줘라”라고 인식하게 해야 합니다.

  1. 새 설정 파일 생성 (예: blog.conf)

    Bash

    sudo nano /etc/apache2/sites-available/blog.conf
    
  2. 내용 입력 (아래 내용을 복사해서 수정하세요)

    Apache

    <VirtualHost *:80>
        # 서브 도메인 주소
        ServerName blog.mydomain.com
    
        # 관리자 이메일
        ServerAdmin webmaster@localhost
    
        # 워드프레스 파일이 위치할 실제 폴더 경로
        DocumentRoot /var/www/blog_folder
    
        # 로그 파일 경로
        ErrorLog ${APACHE_LOG_DIR}/blog_error.log
        CustomLog ${APACHE_LOG_DIR}/blog_access.log combined
    
        # ★중요: 고유주소(Permalinks) 문제 해결을 위한 권한 설정
        <Directory /var/www/blog_folder>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    
  3. 사이트 활성화 및 아파치 재시작

    Bash

    # 설정 파일 활성화
    sudo a2ensite blog.conf
    
    # 설정 오류 검사 (Syntax OK가 떠야 함)
    sudo apache2ctl configtest
    
    # 아파치 재시작
    sudo service apache2 restart
    

6단계: SSL 인증서 발급 (Certbot)

certbot을 사용하면 무료로 SSL을 설치하고, 자동으로 HTTPS로 리다이렉트까지 해줍니다.

  1. Certbot 설치 (아직 없다면)

    Bash

    sudo apt-get install certbot python3-certbot-apache
    
  2. 인증서 발급 실행

    Bash

    sudo certbot --apache
    
  3. 질문 답변:

    • 이메일 입력, 약관 동의(Y).

    • 도메인 목록이 나오면 아까 설정한 서브 도메인 번호(예: 1)를 입력.

    • (중요) Redirect 설정을 묻는다면 2번(Redirect – 모든 트래픽을 HTTPS로)을 선택하세요.


🎉 완료 확인

이제 스마트폰의 **LTE/5G 데이터 모드(와이파이 끄고)**에서 웹 브라우저를 켜고 https://blog.mydomain.com 으로 접속해 보세요. 자물쇠 아이콘(🔒)이 뜨고 워드프레스 설치 화면(또는 지정한 페이지)이 나오면 성공입니다.

※ 주의사항: 집 내부 와이파이에서는 공유기의 NAT 루프백 기능 지원 여부에 따라 도메인으로 접속이 안 될 수도 있습니다. 반드시 스마트폰 데이터 모드로 외부 접속 테스트를 먼저 해보세요.

Similar Posts

  • svg파일을 프로그램의 아이콘으로 지정할 수 없습니다.

    결론부터 말씀드리면, Windows 실행 파일(.exe)의 아이콘으로 .svg 파일을 직접 사용할 수는 없습니다. Windows 운영체제는 실행 파일의 리소스 아이콘으로 .ico 형식만 인식하기 때문입니다. 따라서 Nuitka로 빌드할 때 SVG를 아이콘으로 넣고 싶다면, 먼저 .ico로 변환하는 과정이 필요합니다. 1. .ico 파일로 변환하기 SVG 파일을 ICO로 변환하려면 다음과 같은 방법을 추천합니다. 웹사이트 이용: CloudConvert나 Convertio 같은 사이트에서 무료로 변환할…

  • 우분투 서버 Fail2Ban 설치

    우분투 서버 Fail2Ban 설치 Fail2Ban 설치 (강력 추천) 로그를 실시간으로 감시하다가, 이상한 요청(404 반복 등)을 보내는 IP를 자동으로 일정 시간 동안 차단해주는 아주 고마운 도구입니다. Bash sudo apt update sudo apt install fail2ban -y 설치만 해두어도 기본적으로 SSH 무단 침입 시도를 매우 효과적으로 막아줍니다. ③ 아파치 Timeout 설정 최적화 봇들이 연결을 너무 오래 붙잡지 못하도록…

  • veo3.1 동영상 생성 프롬프트

    5장의 사진(1.jpg ~ 5.jpg)을 입력으로 받아 하나의 연결된 동영상으로 만들기 위한 JSON 포맷의 프롬프트를 작성해 드립니다. Veo3.1(혹은 유사한 고급 비디오 생성 AI)의 API나 인터페이스에 활용할 수 있도록, **이미지 시퀀스(순서)**와 스타일 프롬프트, 카메라 움직임을 포함하여 구조화했습니다. 🏠 신축빌라 투어 영상 생성을 위한 JSON 프롬프트 이 JSON 코드는 5장의 이미지를 순서대로 연결하며, “부드러운 시네마틱 부동산 투어” 느낌을 내도록 구성되었습니다….

  • 크로미움 기반의 오픈소스 git허브에 공개된 브라우저

    크로미움 기반의 오픈소스 git허브에 공개된 브라우저가 있나요? 네, GitHub에는 크로미움(Chromium)을 기반으로 한 다양한 오픈소스 브라우저 프로젝트가 활발하게 공개되어 있습니다. 단순히 크롬의 엔진만 사용하는 것이 아니라, 소스 코드 전체나 주요 인터페이스를 오픈소스로 제공하여 누구나 코드를 확인하고 기여할 수 있는 프로젝트들이 대표적입니다. 2026년 현재 기준으로 가장 인지도 높고 활발하게 관리되는 프로젝트들을 카테고리별로 정리해 드립니다. 1. 가장 대표적인…

  • 캐논스타일 이미지 보정하는 방법

    캐논(Canon) 인테리어 사진 스타일’**의 핵심은 정확한 화이트 밸런스(순백색 유지), 풍부한 하이라이트 디테일, 그리고 텍스처(재질감)가 살아있는 날카로운 선예도입니다. 단순히 ESRGAN만 돌리면 해상도는 커지지만, 자칫 ‘유화(그림)’처럼 뭉개지거나 색감이 탁해질 수 있습니다. “맑고 투명하며 쨍한 잡지 화보” 느낌을 내기 위해 Python 프로그램에 추가해야 할 5가지 핵심 보정 로직을 정리해 드립니다. 이 기능들은 OpenCV와 NumPy를 통해 ESRGAN 전후 단계에…

  • npm run dev 실행할때 port지정하는 방법

    npm run dev 실행할때 port지정하는 방법 npm run dev를 실행할 때 포트를 변경하는 방법은 사용 중인 **프레임워크(Vite, Next.js, React 등)**에 따라 조금씩 다릅니다. 상황에 맞는 가장 편한 방법을 선택해 보세요. 1. 명령어 뒤에 직접 입력하기 (일회성)가장 빠르고 간편한 방법입니다. 명령어 뒤에 –를 붙여서 옵션을 전달합니다. Vite (비트): Bashnpm run dev — –port 8080Next.js: Bashnpm run…

답글 남기기