SWAG (Secure Web Application Gateway)는 LinuxServer.io에서 제공하는 Docker 컨테이너로, NGINX 웹 서버와 리버스 프록시 기능을 포함하고 있으며, PHP 지원, Let's Encrypt 또는 ZeroSSL을 통한 SSL 인증서 자동 발급 및 갱신 기능을 제공합니다. SWAG는 주로 웹 애플리케이션을 안전하게 배포하고 관리하기 위한 목적으로 사용됩니다.
주요 기능
- NGINX 기반 웹 서버 및 리버스 프록시: SWAG는 NGINX를 기반으로 하여 웹 서버 역할을 하며, 다양한 애플리케이션에 대한 리버스 프록시 설정을 지원합니다.
- SSL 인증서 자동화: Let's Encrypt 또는 ZeroSSL을 통해 무료 SSL 인증서를 자동으로 발급하고 갱신하여 HTTPS 보안을 쉽게 적용할 수 있습니다
- Fail2ban 통합: Fail2ban을 통해 다수의 로그인 실패 시도를 감지하고 IP 주소를 차단함으로써 보안을 강화합니다[
- PHP 지원: PHP7이 포함되어 있어 PHP 기반 웹 애플리케이션도 호스팅할 수 있습니다[
- 다양한 프록시 설정 템플릿 제공: SWAG는 Nextcloud, Ghost 등과 같은 여러 인기 있는 애플리케이션에 대한 사전 구성된 리버스 프록시 설정 파일을 제공하여 쉽게 설정할 수 있습니다
도커 컴포즈의 작성
swag:
image: lscr.io/linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
URL: 유알엘
EMAIL: 이메일
SUBDOMAINS: wildcard
VALIDATION: dns
DNSPLUGIN: cloudflare
#to increase DNS propagation dns 챌린지 시간 늘리기
PROPAGATION: 60
volumes:
- ${PWD}/swag:/config
ports:
- 443:443
#- 80:80
상세 설명
dns 챌린지로 http로 설정 둘다 모두 가능함
난 그냥 클플에서 받는걸로함 - 포트 80을 외부로 안열어도 되므로....
dns 챌린지 설정
/swag/dns-conf/cloudflare.ini 설정
dns_cloudflare_email =
dns_cloudflare_api_key =
리버스 프록시
꼭 변경하기!
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app 도커 컨테이너 이름 ip주소;
#set $upstream_port 포트;
set $upstream_proto http or https 선택;
proxy_pass $upstream_proto://$upstream_app;
#:$upstream_port;
# 미리 설정된 파일들
https://github.com/linuxserver/docker-swag/tree/master/root/defaults/nginx
https://github.com/linuxserver/reverse-proxy-confs
장점
미리 설정된 프록시 파일들 그냥 쓰면됨
이후 플러그인들 설정도 같이 설명할거임
728x90
'서버 > Docker' 카테고리의 다른 글
docker swag 지역별로 접속 제한 (0) | 2024.11.20 |
---|---|
docker swag 모듈 추천 (0) | 2024.11.19 |
docker crowdsec (0) | 2024.11.18 |
Metube - 유튜브 다운 (0) | 2024.10.26 |
watchtower - 컨테이너 자동 업데이트 (0) | 2024.10.19 |