본문 바로가기

자유

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

Hide_D2022.09.06 02:13조회 수 394댓글 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
788 건국선언 53기 건국 사스케 2023.01.22 2023.01.22
787 개인열전 66기 독구15 독구 2024.02.25 2024.02.23
786 개인열전 62기 H ZETTRIO15 미과 2023.12.25 2023.10.15
785 개인열전 65기 Maxamuud5 앵벌스 2024.01.27 2024.01.25
784 개인열전 66기 바낫크톤15 셀레미 2024.02.25 2024.02.22
783 국가열전 64기 역병국(전 역병제국) 소소한 잡담 및 장수열전 -24 Karl 2023.12.29 2023.12.27
782 국가열전 신성크렌스제국 장수열전 1-1부11 크렌스 2023.11.30 2023.10.15
781 개인열전 66기 오토무네 코즈에16 미과 2024.02.23 2024.02.16
780 개인열전 62기 코노가고싶다4 카리야 2023.10.15 2023.10.15
779 개인열전 63기 주다사2 Card 2023.11.25 2023.11.24
778 개인열전 66기 바나낫13 바나낫 2024.02.24 2024.02.22
777 자유 67기는 좀 쉬어갑니다.2 푸키삼모 2024.02.28 2024.02.27
776 인터뷰 (인터뷰) 48기 천통 연구원국 천통수뇌 '관흥'님2 앵벌스 2023.06.16 2023.06.08
775 건국선언 58기 건국2 사스케 2023.06.15 2023.06.12
774 인터뷰 (진행중) 50기 천통 빗자루국 화제의 인물 '와일드플라워'님 인터뷰 질문 받습니다6 앵벌스 2023.06.19 2023.06.15
773 건국선언 64기 식물 건국합니다3 셀레미 2023.11.23 2023.11.23
772 자유 63기 관련 만평1 만평전용 2024.01.21 2024.01.16
771 건국선언 62기 건국선언1 POCARI 2023.09.17 2023.09.17
770 개인열전 64기 산타크렌스4 사스케 2023.12.27 2023.12.24
769 관리/운영 신규/복귀 유저 유산 포인트 소급 지급했습니다. Hide_D 2022.12.02 2022.12.02
이전 1 ... 6 7 8 9 10 11 12 13 14 15... 50다음
첨부 (0)