본문 바로가기

자유

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

Hide_D2022.09.06 02:13조회 수 859댓글 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
254 자유 무인라면 (밥끼 장곡점) 오픈했습니다 !13 제갈여포 2024.10.30 2024.10.23
253 자유 75기 관련 만평 만평전용 2024.10.10 2024.10.10
252 자유 75기 전체메시지 만평전용 2024.10.10 2024.10.10
251 자유 마이너 서버 군사기밀 유출 의혹 관련글3 슈퍼블루문 2024.10.08 2024.10.07
250 자유 설문의 익힘 정도가1 페브리 2024.10.04 2024.10.03
249 자유 74기 전체메시지1 만평전용 2024.09.19 2024.09.18
248 자유 74기 관련 만평3 만평전용 2024.09.19 2024.09.18
247 자유 73기 전체 메시지2 만평전용 2024.09.13 2024.08.26
246 자유 73기 관련 만평6 만평전용 2024.09.13 2024.08.26
245 자유 제 3회 삼모인의 밤 참가 모집 공지2 앵벌스 2024.09.13 2024.08.22
244 자유 72기 전체메시지1 만평전용 2024.08.14 2024.08.13
243 자유 72기 관련 만평4 만평전용 2024.08.13 2024.08.13
242 자유 제 3회 삼모인의 밤 수요조사 앵벌스 2024.08.12 2024.08.12
241 자유 제 3회 삼모인의 밤 진행 설문 결과 Review1 앵벌스 2024.08.12 2024.08.12
240 자유 제 3회 삼모인의 밤 진행 前 사전 설문 진행 (~8/11(일) 까지)3 앵벌스 2024.08.05 2024.07.30
239 자유 제 2회 삼모인의 밤 후기16 앵벌스 2024.08.05 2024.07.29
238 자유 240727-28 삼모인의밤 후기17 독구 2024.07.30 2024.07.28
237 자유 71기 전체메시지1 만평전용 2024.07.11 2024.07.11
236 자유 71기 관련 만평2 만평전용 2024.07.29 2024.07.08
235 자유 70기 관련 만평(5편)3 만평전용 2024.06.20 2024.06.19
이전 1 2 3 4 5 6 7 8 9 10... 13다음
첨부 (0)