본문 바로가기

자유

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

Hide_D2022.09.06 02:13조회 수 396댓글 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
383 자유 AI국 입장입니다.28 자비스 2018.12.05 2018.12.05
382 자유 classic 서버 구축 절차 Hide_D 2021.12.01 2021.12.01
381 팁/강좌 Custom CSS 예시/사례입니다. Hide_D 2018.09.09 2018.09.09
380 자유 GIF 잘 만드시는 분 계신가요? #지도, #힏체4 리안 2018.07.20 2018.07.17
379 국가열전 HEART*IZ 열전 1부 + 너무 무서웠던 순간들 캡챠...ㄷㄷ4 아쉐니트 2019.06.09 2019.06.07
378 자유 HID 2기 동안 탈취를 얼마나 했을까.. ? 네이미 2018.08.22 2018.08.22
377 개인열전 HID 2기 먹고싶다. 개인열전 네이미 2018.08.16 2018.08.13
376 개인열전 Incoming!!!!!(42기 전술핵 후기)7 크렌스 2022.04.16 2022.04.05
375 관리/운영 Internet Explorer 11을 지원하지 않습니다.2 Hide_D 2021.09.14 2021.09.14
374 국가열전 IZ*ONE 국가열전+추가 임관자2 아쉐니트 2018.09.25 2018.09.25
373 자유 SARS 폐하의 짭닉에 대한 해명글 15 제갈여포 2023.11.26 2023.11.22
372 자유 To Mozzi Friends2 이해고 2023.10.15 2023.10.15
371 개인열전 [1기 훼섭] SARS 개인열전2 SARS 2018.04.24 2018.04.20
370 국가열전 [1기 훼섭] 사스가사스국 열전 SARS 2018.04.20 2018.04.20
369 삼국일보 [1기 훼섭] 훼섭 정세 SARS 2018.04.20 2018.04.20
368 삼국일보 [3기] 랜임 통계7 잠입 2018.09.09 2018.09.08
367 개인열전 [4기] 나레이터킬러의 개인열전1 나레이터킬러 2018.10.07 2018.10.07
366 자유 [4기] 로마국의 주장에 대한 답변30 아비그네일 2018.10.10 2018.10.08
365 자유 [4기] 이번 기수 로마국의 누명 해명합니다.81 노도치 2018.10.10 2018.10.08
364 국가열전 [67기] 샤라웃 투 AK4715 블랙죠 2024.03.23 2024.03.21
이전 1 ... 27 28 29 30 31 32 33 34 35 36... 51다음
첨부 (0)