nginx 팁 - 동적 도 메 인 이름 (위 챗, 애플 릿 80 포트)
직원 개발 디 버 깅 은 문제 로 매번 운영 비 를 찾 아 수정 하고 유지 하면 K 에 의 해 이 루어 진다.
교환기 에 DMZ 를 고정 서버 에 설치 하고 nginx / openresty 를 배치 합 니 다.
gitlab (svn) + jenkins / ansible 등 운영 방식 으로 설정 파일 을 수정 할 때마다 gitlab 에 제출 하여 CI / CD 를 nginx 서버 로 전송 하고 reload 를 실행 할 수 있 습 니 다.
물론 변 경 된 것 도 있 습 니 다. 예 를 들 어 openresty + lua 구독 redis 는 변경 사항 을 발견 한 후에 redis 의 설정 을 읽 고 rewrite 를 로 컬 설정 파일 에 넣 은 다음 에 reload 를 합 니 다. 그러나 결국은 비교적 무 겁 습 니 다.
다음은
server_name
어댑터 를 설정 하여 동적 도 메 인 이름 을 실현 하 는 방안 입 니 다.server {
listen 443 http2 ssl;
listen 80;
server_name ~(?.+)_(?\d+)_(?\d+).domain.com;
location / {
//proxy settings ...
/ / $h 는 abc 1 1 의 abc 입 니 다.
//proxy_set_header Host $h;
proxy_pass http://192.168.$a.$b;
}
}
사용 방법
개발 자 기기 에 nginx 를 설치 하고 해당 하 는 vhost 를 설정 합 니 다.
server {
listen 80;
server_name abc*;
location / {
root html;
index index.html;
}
}
curl http[s]://abc_1_1.domain.com
... 과 같다
curl -H"abc_1_1.domain.com" http[s]://192.168.1.1
다 중 도 메 인 이름
_
이 아 닌 .
으로 구 분 된 이 유 는 Let 's Encrypt 의 마스크 가 같은 등급 의 마스크 이기 때 문 입 니 다. 예 를 들 어 *.domain.com
지원 a.domian.com
은 유효 하지 않 습 니 다. https 접근 (애플 릿 이 https 를 필요 로 하지 않 으 면 자체 적 으로 a.b.domain.com
으로 수정 할 수 있 습 니 다.이 방안 은 일정한 안전 위험 이 존재 할 수 있 습 니 다. 예 를 들 어 ip 폭파 (화이트 리스트 방문, basic auth 를 설정 하여 동적 ip 범 위 를 제한 할 수 있 습 니 다).
유지 보수 가 간단 하 다 는 것 이 장점 입 니 다. (도 메 인 이름 추가, 도 메 인 이름 변경 - > ip 맵 변경, 설정 수정, 데이터 수집, 로그 인쇄 등)
본 고 는 그 중에서 역방향 대리 중의 하나 일 뿐 유사 한 반 세대 방안 은 frp 와 ngrok 도 있 고 dns (bid, dnsmasq) 도 사용 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.