본문 바로가기

자유

서버 reverse proxy 단을 nginx에서 caddy로 변경합니다. (운영 노트)

Hide_D2022.09.06 02:13조회 수 395댓글 6

    • 글자 크기

별건 아니지만 나름 의미가 있을테니 설정을 남겨둡니다.

 

공용 Caddyfile

{
	#email

	log {
		output file /var/log/caddy/access.log
	}
}

(default_https_header) {
	header {
		# enable HSTS
		+Strict-Transport-Security "max-age=31536000; includeSubDomains"
		Location http:// https://
	}

	log {
		output file /var/log/caddy/access_https.log
	}

	encode zstd gzip
}

(default_proxy) {
	import default_https_header
	reverse_proxy {args.0} {
		header_up X-Real-IP {remote_host}
		header_down -Strict-Transport-Security
	}
}

 

sam.hided.net 쪽 caddy

sam.hided.net {
	import default_proxy localhost:80808800

	@mirror_mode {
		remote_ip #CIDR
	}

	reverse_proxy @mirror_mode localhost:80808800{
		header_up host sam-mirror.hided.net
		header_down -Strict-Transport-Security
		trusted_proxies #TODO:cidr 입력!
	}
}

sam-mirror.hided.net쪽 caddy

sam-mirror.hided.net {
	import default_https_header
	reverse_proxy https://sam.hided.net {
		header_up host sam.hided.net
		header_up X-Real-IP {remote_host}
		header_down -Strict-Transport-Security
		header_up -alt-svc
		header_down -alt-svc
		header_down -server
		header_up -upgrade-insecure-requests

		transport http {
			tls
			tls_renegotiation once
			versions 2 1.1
		}
	}
}

 

해결해야 했던 사안:

(1) 두개의 URL sam.hided.net 이 원래 서버, sam-mirror.hided.net 이 미러일 때, 제대로 host와 remote_addr이 지정되도록 해야함.

(2) 두 서버 모두 caddy를 사용해야함!

(3) http/3를 써보고 싶었기 때문에 tcp stream proxy는 배제함. (기존 nginx에서는 tcp stream proxy 사용)

 

 

핵심 해결책:

(1) sam-mirror - sam 통신에서 header의 host 조작을 왔다갔다 해야함

(2) reverse_proxy에서 trusted_proxies를 지정해야 HTTP_X_FORWARDED_FOR가 제대로 전달됨

 

 

 

수정 2022-09-21: Caddy 2.6에서는 HTTP/3를 기본 지원하므로 기존 config 수정

    • 글자 크기

댓글 달기

댓글 6
번호 분류 제목 글쓴이 최근 수정일 날짜
공지 관리/운영 60기 이벤트 이후 당분간 추가 기능 류의 작업이 늦춰집니다.6 Hide_D 2023.10.30 2023.08.02
943 개인열전 55기 정미희 셀레미 2023.04.11 2023.04.11
942 개인열전 55기 송하영 (잉지) 초아인지 2023.04.08 2023.04.08
941 개인열전 50기 ㅜㅟ 나데코 2022.11.27 2022.11.27
940 건국선언 56기 건국선언 독구 2023.04.09 2023.04.09
939 개인열전 61기 호도르3 만샘 2023.09.17 2023.09.15
938 개인열전 62기 염소희8 페브리 2023.10.17 2023.10.15
937 개인열전 67기 서희4 서희 2024.03.22 2024.03.22
936 자유 사람들이 잘 모르는 마늘 소스 정체 삼국유머 2024.05.10 2024.05.10
935 개인열전 50기 금월 김나영 2022.11.26 2022.11.26
934 개인열전 60기 서희 기록용2 서희 2023.10.15 2023.10.15
933 건국선언 리셋ㄱㄱㄱ 임사여엉 2023.10.16 2023.10.16
932 자유 부사관 필기시험 근황 삼국유머 2024.05.10 2024.05.10
931 개인열전 51기 7성구 바나낫 2022.12.21 2022.12.21
930 개인열전 56기 김정은 바나낫 2023.05.06 2023.05.06
929 개인열전 69기 임사영4 임사여엉 2024.05.17 2024.05.17
928 개인열전 61기 앵두한2 진솔 2023.09.17 2023.09.15
927 자유 퍄섭 약소국이 생명연장 하는 방법2 無名別動隊(슈퍼블루문) 2024.05.17 2024.05.15
926 개인열전 68기 최진리2 최진리 2024.04.25 2024.04.18
925 국가열전 승상: 슈퍼블루문 국가2 無名別動隊 2024.05.17 2024.05.15
924 개인열전 54기 덕구 김나영 2023.03.13 2023.03.13
이전 1 2 3 4 5 6 7 8 9 10... 51다음
첨부 (0)