Nginx Proxy Manager
- 무료 SSL인 Let's encrypt 인증서를 자동으로 생성/갱신
- 리버스 프록시 서버 GUI 관리
- 여러 개의 웹 서버를 관리
- 여러 개의 도메인 관리, 서브 도메인 관리
다른 포트를 열지 않고 80, 443 포트 오픈만으로 소유한 도메인에 쉽게 매핑이 가능합니다.
예:
🔗 http://localhost:8080 ⇒ https://sub.yourdomain.com
http://localhost:5555 ⇒ https://sub3.domain.com
80, 81, 443 포트 오픈해야됩니다.(방화벽)
→ 81번 포트는 오픈하지 않아도 되지만 80, 443번 포트는 letsencrypt 인증서 발급을 위해 꼭 오픈해야합니다.
docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
해당 docker-compose.yml이 있는 폴더에서 docker-compose up -d
명령어 수행
🔗 http://127.0.0.1:81
초기 아이디, 비밀번호
Email: admin@example.com
Password: changeme
메인 접속 후 우측 상단에 유저 프로필을 클릭 해 “Edit Details”를 클릭 하여 Email 변경 후 “Change Password”를 변경 해주세요.
새로운 프로파일을 만드려면 “Hosts” - “Proxy Hosts” 로 이동
“Add Proxy Host” 클릭
도메인 설정 / 서버 정보 입력
“Domain Names” 에는 서브 도메인 / 도메인 주소 기입
“Scheme”, “Forward Hostname / IP”, “Forward Port”에는 해당 서버에서 돌아가는 서비스의 IP Address와 Port, Scheme를 기입하여 주면됩니다.
등록된 도메인 관리 사이트에서 해당 도메인 주소/서브 도메인 주소에 대해 서버의 “A 레코드(IP 주소)”를 적용하여 주셔야됩니다.
동적 페이지 일 때 추가 설정
등록하는 도메인 주소의 ‘/’ 모든 Path에 대해 인증서 등록
→ 해당 과정을 띄어넘으면 https://sub.domain.com/ 까지는 SSL 인증서가 정상 동작하지만 https://sub.domain.com/path/… 다른 Path 접속 시 인증서 관련 오류가 발생할 수 있습니다.
SSL 인증서 발급
“Save” 버튼을 클릭 하면 http://192.168.0.5:8080 → https://sub.domain.com 과 같이 리버스 프록시와 함께 SSL이 적용이 완료됩니다.
SSL 적용 시 까지 시간이 소요될 수 있습니다.
브라우저를 캐시를 지우거나, “Shift + Ctrl + R” 버튼으로 강력 새로고침을 하시면 정상 작동할 것입니다.
Nginx Proxy Manager
- 무료 SSL인 Let's encrypt 인증서를 자동으로 생성/갱신
- 리버스 프록시 서버 GUI 관리
- 여러 개의 웹 서버를 관리
- 여러 개의 도메인 관리, 서브 도메인 관리
다른 포트를 열지 않고 80, 443 포트 오픈만으로 소유한 도메인에 쉽게 매핑이 가능합니다.
예:
🔗 http://localhost:8080 ⇒ https://sub.yourdomain.com
http://localhost:5555 ⇒ https://sub3.domain.com
80, 81, 443 포트 오픈해야됩니다.(방화벽)
→ 81번 포트는 오픈하지 않아도 되지만 80, 443번 포트는 letsencrypt 인증서 발급을 위해 꼭 오픈해야합니다.
docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
해당 docker-compose.yml이 있는 폴더에서 docker-compose up -d
명령어 수행
🔗 http://127.0.0.1:81
초기 아이디, 비밀번호
Email: admin@example.com
Password: changeme
메인 접속 후 우측 상단에 유저 프로필을 클릭 해 “Edit Details”를 클릭 하여 Email 변경 후 “Change Password”를 변경 해주세요.
새로운 프로파일을 만드려면 “Hosts” - “Proxy Hosts” 로 이동
“Add Proxy Host” 클릭
도메인 설정 / 서버 정보 입력
“Domain Names” 에는 서브 도메인 / 도메인 주소 기입
“Scheme”, “Forward Hostname / IP”, “Forward Port”에는 해당 서버에서 돌아가는 서비스의 IP Address와 Port, Scheme를 기입하여 주면됩니다.
등록된 도메인 관리 사이트에서 해당 도메인 주소/서브 도메인 주소에 대해 서버의 “A 레코드(IP 주소)”를 적용하여 주셔야됩니다.
동적 페이지 일 때 추가 설정
등록하는 도메인 주소의 ‘/’ 모든 Path에 대해 인증서 등록
→ 해당 과정을 띄어넘으면 https://sub.domain.com/ 까지는 SSL 인증서가 정상 동작하지만 https://sub.domain.com/path/… 다른 Path 접속 시 인증서 관련 오류가 발생할 수 있습니다.
SSL 인증서 발급
“Save” 버튼을 클릭 하면 http://192.168.0.5:8080 → https://sub.domain.com 과 같이 리버스 프록시와 함께 SSL이 적용이 완료됩니다.
SSL 적용 시 까지 시간이 소요될 수 있습니다.
브라우저를 캐시를 지우거나, “Shift + Ctrl + R” 버튼으로 강력 새로고침을 하시면 정상 작동할 것입니다.