본문 바로가기

자유

서버 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
110 자유 랜임깃수 또 계획없나영 하야꾸하야꾸 2019.07.12 2019.07.12
109 자유 료우기시키 개인열전6 료우기시키 2019.05.05 2019.05.04
108 자유 마이너섭 무쌍 풀스택의 위험성2 Per 2022.02.27 2020.08.01
107 자유 명성에 관해 신경쓰이는 점1 새장속의이상향 2018.08.06 2018.08.04
106 자유 묘섭 내정특기 모음 크렌스 2018.08.10 2018.08.10
105 자유 묘섭 아이템효과 및 보정 정리 크렌스 2018.08.10 2018.08.10
104 자유 묘섭 전투특기 모음 크렌스 2018.08.10 2018.08.10
103 자유 물공정한 게임2 페브리 2024.04.25 2024.04.02
102 자유 부사관 필기시험 근황 삼국유머 2024.05.10 2024.05.10
101 자유 불가침 서신 수락이 일반장수에게도 뜨던데3 월척 2018.07.19 2018.06.29
100 자유 비급 귀병 테스트 후기글4 無名別動隊 2024.05.16 2024.05.15
99 자유 뿌우우우우 'ㅅ'8 고라파덕 2022.07.17 2022.07.11
98 자유 사과문3 whan 2018.12.06 2018.12.05
97 자유 사과문 빨간망토 2018.12.10 2018.12.10
96 자유 사람들이 잘 모르는 마늘 소스 정체 삼국유머 2024.05.10 2024.05.10
95 자유 사령부 화면 오류1 륜- 2022.09.13 2022.09.13
94 자유 사령부 휴식커맨드 없는건 버그인가요 패치인가요?5 새장속의이상향 2018.07.23 2018.07.22
93 자유 삼모고수분들의 삼모잘하는 꿀팁 강의를 듣고 싶습니다2 미과 2024.05.11 2024.05.10
92 자유 삼모인 친선 롤토체스 대회 개최 : 1차 대회 종료4 Lapin 2020.06.14 2020.06.09
91 자유 삼모인의 밤 설문결과 및 참석 수요조사4 앵벌스 2024.03.09 2024.03.08
첨부 (0)