• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
질문

Caddy 리버스프록시 못써먹겠네요

613

0

6

Rocky Linux 9.2에 podman 설치해서 사용중입니다.

slothcroissant/caddy-cloudflaredns 컨테이너 이미지 사용 중입니다. 

클라우드플레어 dns 사용해서 인증합니다.

 Caddyfile은 아래처럼 구성했습니다.


(대충 도메인이란 내용) {
        tls {
                dns cloudflare {$CLOUDFLARE_API_TOKEN}
        }

       reverse_proxy host.containers.internal:8090
}

 

docker compose 파일에 클플 API 당연히 넣어놨습니다

host.containers.internal는 podman 호스트인 10.89.1.1입니다.

컨테이너 내에서 curl 하면 아래처럼 결과 나옵니다

/srv # curl host.containers.internal:8090/login
<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

(생략)

잘 된단 소리죠

 

이렇게 해서 컨테이너 실행시키면?

error connection timed out가 뜰 때도 있고 안뜨고 정상적으로 리버스프록시가 될 때도 있습니다

에러로그는 전혀 안나옵니다

debug 걸어도 특별히 주목할만한 로그는 전혀 안나옵니다

참 답이 없네요

명확한 로그를 뱉어내면 원인이라도 찾지

 이게 컨테이너 로그입니다

{"level":"info","ts":1699890948.4251323,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}

{"level":"warn","ts":1699890948.4287188,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":18}

{"level":"info","ts":1699890948.4300587,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}

{"level":"info","ts":1699890948.430288,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}

{"level":"info","ts":1699890948.430305,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}

{"level":"info","ts":1699890948.4314864,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}

{"level":"info","ts":1699890948.4315925,"msg":"failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}

{"level":"info","ts":1699890948.431732,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}

{"level":"info","ts":1699890948.4318128,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}

{"level":"info","ts":1699890948.4318657,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["test.(도메인)","nas.(도메인)","*.(도메인)"]}

{"level":"info","ts":1699890948.432585,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc00037ce00"}

{"level":"info","ts":1699890948.4326699,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/data/caddy"}

{"level":"info","ts":1699890948.4333785,"logger":"tls","msg":"finished cleaning storage units"}

{"level":"info","ts":1699890948.4345443,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}

{"level":"info","ts":1699890948.4345534,"msg":"serving initial configuration"}

신고공유스크랩
6
profile image 1등
너굴맨봇 2023.11.14. 00:45
안녕하세요, @읭님.😊
 

좋은답변을 받기위해서는 좋은 질문이 필요합니다.

유의할점⚠️

  • 예의를 지켜주세요. 답변자는 답변을 할 의무는 없습니다.
  • 질문에 대한 대부분의 답은 검색으로 찾아보실 수 있습니다.
  • 답변자가 답변을 하면서 대개 많은 경우는 다시 질문을 하는 경우가 많이 있습니다.
    • (질문의 대한 정보가 부족합니다. ~일 경우 결과물이 어떻게 됩니까? 등등)

질문방법🙏

자신의 상황을 최대한 자세히 설명해주세요.

상황이 정확하고 많을 수록 답변의 정확도가 올라갑니다. 

ex) ex) 헤놀로지라면 메인보드 모델 칩셋정보, CPU, 사용한 DSM 버전, 모델, 부수적인 추가 컨트롤러 나 랜카드 등과 어떠한 로더의 이미지를 사용했는지.(arpl-i18n, mshell), 어떤 버전을 사용했는지, 문제가있다면 어떠한것인지 스크린샷을 동반하고 에러의 경우 에러로그를 출력해서 주시면 좋습니다.

*가능하면 최신버전 OS/SW를 이용해주세요

 

답변에대한 피드백을 주세요.

정보가 질문에 모두 담겨있지않다면 대부분의 답변이 다른정보를 요구합니다.

이러한 답변에 대해 명확한 피드백을 주시면 도움이 됩니다.

2등
콜라 2023.11.14. 02:04
caddy는 시작 명령으로 시작할 때 클라우드플레어 플러그인을 다운로드하게 할수 있습니다.
조금 있다가 시작 명령 확인해서 올리겠습니다.
콜라 2023.11.14. 02:10
콜라
command: /bin/sh -c 'if ! caddy list-modules | grep -q dns.providers.cloudflare; then caddy add-package github.com/caddy-dns/cloudflare; fi; caddy run --config /caddyfile --adapter caddyfile'


좀 오래된 정보라… 최근엔 ㅐ디를 안써서 안됤 도 있는데, 캐디 정식 이미지에 커맨드로 저거 넣으면 부팅 하면서 플러그인 자동으로 받아온 후 실행합니다.
3등
콜라 2023.11.14. 02:15

제 캐디 파일은 다음과 같았습니다.

 

# Caddyfile2
# https://caddyserver.com/docs/caddyfile/directives
# directives 이름 주의
(cf_ip) {
@cf-ip-matcher remote_ip 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 104.16.0.0/13 104.24.0.0/14 108.162.192.0/18 131.0.72.0/22 141.101.64.0/18 141.101.64.0/18 162.158.0.0/15 172.64.0.0/13 173.245.48.0/20 188.114.96.0/20 190.93.240.0/20 197.234.240.0/22 198.41.128.0/17 2400:cb00::/32 2606:4700::/32 2803:f800::/32 2405:b500::/32 2405:8100::/32 2a06:98c0::/29 2c0f:f248::/32
# @ip-matcher not remote_ip forwarded 192.168.0.1
}   
# (rev-proxied) {
(rev-pro) {
    @{args.0}-host-matcher host {args.2} {args.3} {args.4} {args.5} {args.6}
    handle @{args.0}-host-matcher {
      handle @cf-ip-matcher {
        reverse_proxy {args.1}
      }
      handle {
        abort
      }
    }
    handle {
        abort
    }
}
(rev-dns) {
    @{args.0}-host-matcher host {args.2} {args.3} {args.4} {args.5} {args.6}
    handle @{args.0}-host-matcher {
      reverse_proxy {args.1}
    }
    handle {
        abort
    }
}
cola16.app *.cola16.app cola16.dev *.cola16.dev {
    import cf_ip
    tls {
    dns cloudflare 토큰
    }
    # Fallback for otherwise unhandled domains
    handle {
        abort
    }
    import rev-pro wordpress     h2c://nginx cola16.app
#    import rev-pro wordpress     http://nginx cola16.app
    import rev-pro npm           http://npm:81 se2npm.cola16.dev
    import rev-pro ddns          h2c://nginx ddns.도메인
    import rev-pro se2cockpit    http://172.23.255.1:9090 도메인
    import rev-pro se2db         h2c://nginx 도메인
    import rev-pro se2goaccess   h2c://goaccess:7880 도메인
    import rev-pro shortlink     h2c://yourls 도메인
    import rev-pro adguard_home  https://adg_AdGuardHome 도메인
    import rev-pro se2grafana    h2c://grafana:3000  도메인
    import rev-pro se3grafana    h2c://grafana:3000  도메인
    import rev-pro se4grafana    h2c://grafana:3000  도메인
    import rev-pro netdata       h2c://netdata:19999  도메인
    import rev-pro libre_speed   h2c://librespeed  도메인
    import rev-pro wireguard     h2c://wgeasy:51821  도메인
    import rev-pro duplicati     http://dupli:8200  도메인
}

 

콜라 2023.11.14. 07:37
콜라
옛날에 제가 한걸보니 reverse proxy랑 클플은 다른 존에 잇어야 하는것 같네요.
글쓴이 2023.11.14. 19:59
콜라
더럽게 짜증나는게 재시작 반복하다보면 될때가 있고 안될때가 있습니다
일단 다른 컨테이너이미지가 공식에서 제공하는 빌드방법을 쓰고 있었지만 그냥 커맨드 수동으로 날려서 모듈 다운받는 위 방식대로 바꿨습니다
리버스프록시랑 클라우드플레어 존은 같이 있어도 별 상관은 없습니다
답변 감사합니다

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
잡담 proxmox로 갈아탔습니다 7 기현 11시간 전07:34 220 +2
잡담 Immich가 FUTO에 합류했습니다.(Immich 핵심 팀은 정규직으로 근무합니다.) 4 달소 1일 전11:38 246 +1
정보 오픈아이콘 제공 사이트(https://cdn.jsdelivr.net) 오류 발생 => 복구됨 2 지딱코 2일 전14:31 209 +1
3893 질문
normal
고심분투 1시간 전17:10 40 0
3892 질문
image
경호 2시간 전15:50 34 0
3891 질문
normal
경호 5시간 전13:23 35 0
3890 잡담
image
기현 11시간 전07:34 220 +2
3889 잡담
image
keiminem 1일 전13:12 401 0
3888 잡담
normal
달소 1일 전11:38 246 +1
3887 질문
image
EXP 1일 전23:48 80 0
3886 질문
normal
홍익 1일 전19:26 197 0
3885 정보
image
지딱코 2일 전14:31 209 +1
3884 가이드
image
달소 2일 전22:22 352 +3
3883 가이드
image
ljr10 3일 전08:20 165 0
3882 가이드
image
달소 3일 전06:46 183 +1
3881
image
달소 3일 전05:50 199 +6
3880 정보
image
달소 3일 전05:38 123 0
3879 잡담
image
달소 3일 전05:20 401 0
3878 오픈소스
image
keiminem 4일 전17:43 347 +3
3877 질문
normal
purndal 4일 전14:32 240 0
3876 질문
image
초보나스 4일 전10:46 105 0
3875 후기
image
달소 4일 전10:03 322 0
3874 질문
normal
keiminem 4일 전09:29 328 0