본문 바로가기

자유

서버 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
72 자유 6기 건국 예정1 리즈나 2018.10.10 2018.10.10
71 자유 호접지몽 장수분들께 사과드립니다.1 노도치 2018.10.13 2018.10.12
70 자유 아텐누님과 템주시긔국 장수분들께 사과 드립니다.1 Hide_D 2018.11.13 2018.11.12
69 자유 [설문 결과] 새로운 병종이 추가된다면?1 Hide_D 2018.12.03 2018.12.03
68 자유 운영자님께1 아미노 2018.12.08 2018.12.05
67 자유 판결에 제출한 최종문 / 운영진측에게 묻고 싶습니다.1 Nernas 2018.12.06 2018.12.06
66 자유 세번째 입니다1 이쓰미 2018.12.07 2018.12.07
65 자유 한 마디만 적겠습니다1 갓세정 2018.12.07 2018.12.07
64 자유 카카오톡 인증을 연장부탁드립니다.1 관지평 2019.02.07 2019.02.07
63 자유 깃수 빨리 끝내주세요...1 김나영 2019.02.15 2019.02.15
62 자유 오티누스님을 찾습니다.1 리안 2019.08.16 2019.08.15
61 자유 17기 그 國에선 무슨일이? 無국 1편1 네이미 2019.12.10 2019.12.02
60 자유 17기 그 國에선 무슨일이? 無국 마지막편1 네이미 2019.12.13 2019.12.10
59 자유 21기 오국 열전1 페브리 2020.06.11 2020.04.02
58 자유 으헹님 이 글 보시면 한번 읽어주세요1 앵벌스 2020.09.29 2020.09.27
57 자유 정말 오랜만에 들렀다 갑니다.1 미과 2020.12.20 2020.12.15
56 자유 오랜만에 들어와보네요1 유기체 2021.05.15 2021.05.15
55 자유 다람쥐1 앵벌스 2021.11.27 2021.11.26
54 자유 건국선언 철회합니다1 페브리 2022.05.24 2022.03.17
53 자유 삼모하는예쁜누나국 군주 엔틱입니다.1 엔틱 2022.04.26 2022.04.26
이전 1 ... 2 3 4 5 6 7 8 9 10 11다음
첨부 (0)