본문 바로가기

자유

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

Hide_D2022.09.06 02:13조회 수 388댓글 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
921 개인열전 66기 루비5 이해고 2024.02.28 2024.02.25
920 국가열전 66기 쥬얼랜드3 이해고 2024.02.27 2024.02.25
919 자유 소를 안먹는 나라는?2 블랙죠 2024.02.26 2024.02.25
918 건국선언 67기 건국선언3 사스케 2024.02.28 2024.02.24
917 개인열전 66기 이순신5 장원영 2024.02.28 2024.02.24
916 개인열전 66기 서희6 서희 2024.02.28 2024.02.23
915 개인열전 66기 덕구4 김나영 2024.02.28 2024.02.23
914 개인열전 66기 모아나10 Mella 2024.02.28 2024.02.23
913 개인열전 66기 사스케8 사스케 2024.02.23 2024.02.23
912 개인열전 66기 빈첸조7 앵벌스 2024.02.24 2024.02.23
911 개인열전 66기 독이별택시8 POCARI 2024.02.24 2024.02.23
910 개인열전 66 개척자10 조승상 2024.02.25 2024.02.23
909 개인열전 66기 이차원의 도망자18 메로나아님 2024.02.27 2024.02.23
908 개인열전 66기 지듣노10 블랙죠 2024.02.25 2024.02.23
907 개인열전 66기 독구15 독구 2024.02.25 2024.02.23
906 자유 66기 관련 만평 (네편)7 만평전용 2024.02.27 2024.02.23
905 개인열전 66기 바나낫13 바나낫 2024.02.24 2024.02.22
904 개인열전 66기 바낫크톤15 셀레미 2024.02.25 2024.02.22
903 건국선언 67기 건국선언14 미과 2024.02.27 2024.02.18
902 국가열전 65기 평범한국가 열전36 평민킬러 2024.02.22 2024.02.17
이전 1 2 3 4 5 6 7 8 9 10... 50다음
첨부 (0)