본문 바로가기

자유

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

Hide_D2022.09.06 02:13조회 수 470댓글 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
1090 개인열전 72기 장원영 개인열전 장원영 2024.08.13 34분 전
1089 개인열전 72기 사스케1 사스케 2024.08.13 1시간 전
1088 개인열전 73기 아버지홍삼드십셔 개인열전3 씩씩한아붕이 2024.08.13 2시간 전
1087 개인열전 72기 미국주식보유자5 평민킬러 2024.08.13 2시간 전
1086 개인열전 72期 完顔宗弼8 이해고 2024.08.13 3시간 전
1085 개인열전 체72기 So long!10 미과 2024.08.13 3시간 전
1084 개인열전 72기 감흥6 관흥 2024.08.13 3시간 전
1083 개인열전 72기 하마6 블랙죠 2024.08.13 3시간 전
1082 개인열전 72기 누렁이6 불패 2024.08.13 3시간 전
1081 개인열전 72기 꼬꼬댁(독구) 개인열전15 독구 2024.08.13 3시간 전
1080 건국선언 73기 건국선언4 류화영 2024.08.12 4시간 전
1079 건국선언 73기 건국선언4 미과 2024.08.13 4시간 전
1078 자유 제 3회 삼모인의 밤 수요조사 앵벌스 2024.08.12 16시간 전
1077 자유 제 3회 삼모인의 밤 진행 설문 결과 Review1 앵벌스 2024.08.12 16시간 전
1076 자유 제 3회 삼모인의 밤 진행 前 사전 설문 진행 (~8/11(일) 까지)3 앵벌스 2024.08.05 2024.07.30
1075 자유 제 2회 삼모인의 밤 후기16 앵벌스 2024.08.05 2024.07.29
1074 자유 240727-28 삼모인의밤 후기17 독구 2024.07.30 2024.07.28
1073 개인열전 71기 시끄럽고버거나줘요 페브리 2024.07.11 2024.07.11
1072 자유 71기 전체메시지1 만평전용 2024.07.11 2024.07.11
1071 개인열전 71기 시끄럽고홍삼주세요1 사스케 2024.07.11 2024.07.10
이전 1 2 3 4 5 6 7 8 9 10... 55다음
첨부 (0)