본문 바로가기

자유

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

Hide_D2022.09.06 02:13조회 수 399댓글 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 수정

    • 글자 크기
삼모하는예쁜누나국 군주 엔틱입니다. (by 엔틱) 설문 결과 : 좋아하는 국가 성향은? (by Hide_D)

댓글 달기

댓글 6
번호 분류 제목 글쓴이 최근 수정일 날짜
공지 관리/운영 60기 이벤트 이후 당분간 추가 기능 류의 작업이 늦춰집니다.6 Hide_D 2023.10.30 2023.08.02
105 자유 부사관 필기시험 근황 삼국유머 2024.05.10 2024.05.10
104 자유 불가침 서신 수락이 일반장수에게도 뜨던데3 월척 2018.07.19 2018.06.29
103 자유 뿌우우우우 'ㅅ'8 고라파덕 2022.07.17 2022.07.11
102 자유 사과문3 whan 2018.12.06 2018.12.05
101 자유 사과문 빨간망토 2018.12.10 2018.12.10
100 자유 사람들이 잘 모르는 마늘 소스 정체 삼국유머 2024.05.10 2024.05.10
99 자유 사령부 화면 오류1 륜- 2022.09.13 2022.09.13
98 자유 사령부 휴식커맨드 없는건 버그인가요 패치인가요?5 새장속의이상향 2018.07.23 2018.07.22
97 자유 삼모고수분들의 삼모잘하는 꿀팁 강의를 듣고 싶습니다3 미과 2024.05.17 2024.05.10
96 자유 삼모인 친선 롤토체스 대회 개최 : 1차 대회 종료4 Lapin 2020.06.14 2020.06.09
95 자유 삼모인의 밤 설문결과 및 참석 수요조사4 앵벌스 2024.03.09 2024.03.08
94 자유 삼모하는예쁜누나국 군주 엔틱입니다.1 엔틱 2022.04.26 2022.04.26
자유 서버 reverse proxy 단을 nginx에서 caddy로 변경합니다. (운영 노트)6 Hide_D 2022.09.21 2022.09.06
92 자유 설문 결과 : 좋아하는 국가 성향은?1 Hide_D 2018.09.09 2018.09.07
91 자유 세번째 입니다1 이쓰미 2018.12.07 2018.12.07
90 자유 소를 안먹는 나라는?2 블랙죠 2024.02.26 2024.02.25
89 자유 솔직히 전깃수 거의 잠수타서 통합 과정은 모르것는디 판단은 옳았던거같긴함3 하우젤 2018.09.12 2018.09.12
88 자유 슈퍼블루문 vs3 블랙죠 2024.06.01 2024.05.30
87 자유 시뉴님6 페브리 2021.09.06 2021.08.30
86 자유 신데마스국 열전3 시뉴카린 2018.09.18 2018.09.18
첨부 (0)