배포 URL
프로젝트마다 `<프로젝트>.<조직>.runlot.app` 주소가 생성되며, TLS는 자동으로 설정됩니다.
배포가 완료되면 프로젝트의 기본 주소가 생성됩니다.
my-app.me.runlot.app<프로젝트>.<조직>.runlot.app 입니다.
옛 -- 주소는 더 이상 없습니다
예전에는 프로젝트 이름과 조직 이름을 한 라벨로 합쳐 my-app--me.runlot.app 형태로 만들었습니다. 이 형태는 더 이상 등록되지 않습니다. 배포는 두 라벨 주소만 등록하고, 변경 전에 배포한 프로젝트도 새 주소로 옮겼습니다. 옛 주소를 어딘가에 공유했다면 바꿔 주세요. 그 주소는 이제 열리지 않습니다.
라벨을 나눌 수 있게 된 이유
와일드카드 인증서는 하위 도메인 라벨 하나만 덮습니다. 그래서 *.runlot.app 인증서 한 장으로는 라벨이 두 개인 주소를 처리할 수 없었습니다. 지금은 조직마다 *.<조직>.runlot.app 와일드카드 인증서를 ACME DNS-01로 직접 발급합니다. 주 인증 기관은 Google Trust Services이고, 실패하면 Let's Encrypt로 넘어갑니다. 덕분에 프로젝트와 조직이 각각 자기 라벨을 가질 수 있습니다.
이름 규칙
조직 slug와 프로젝트 이름은 다음 규칙을 따라야 합니다.
^[a-z0-9](-?[a-z0-9])*$- 최대 30자(DNS 라벨의 63자 제한을 기준으로 계산)
- 이름에 하이픈 두 개(
--)를 사용할 수 없음
기본 주소는 더 이상 --를 쓰지 않지만 이 규칙은 유지합니다. PostgreSQL 직접 접속 주소는 여전히 두 이름을 --로 잇고(my-app--me.wire.runlot.app), 이 규칙이 없으면 a--b 조직의 c 프로젝트와 a 조직의 b--c 프로젝트가 같은 접속 주소를 갖게 됩니다.
TLS
이 주소의 TLS 인증서는 프런트에서 자동으로 관리합니다. 별도로 설정할 필요가 없으며, http:// 요청은 https://로 리디렉션합니다.
보유한 도메인을 연결하려면 커스텀 도메인을 참고하세요.
워커가 받는 헤더
프런트는 현재 배치 정보를 요청 헤더에 추가합니다. 이 헤더는 문제를 분석할 때 유용합니다.
request.headers.get("Runlot-Project-Id");
request.headers.get("Runlot-Epoch");
request.headers.get("Runlot-Node");
request.headers.get("Runlot-Slot");클라이언트가 보낸 Runlot-* 헤더는 프런트에서 모두 제거한 뒤 신뢰할 수 있는 값으로 다시 추가합니다. 따라서 클라이언트가 이 헤더 값을 위조할 수 없습니다.