본문 바로가기
서버/Docker

swag 리버스 프록시

by itsrainday 2024. 11. 17.

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