미등록 도메인 Catch-All 차단
등록하지 않은 도메인으로 수신된 요청을 기본 서버 블록에서 차단하며, 80은 444, 443은 핸드셰이크 거부로 처리한다.
글
월별 글 목록.
등록하지 않은 도메인으로 수신된 요청을 기본 서버 블록에서 차단하며, 80은 444, 443은 핸드셰이크 거부로 처리한다.
UNAVAILABLE 같은 일시적 장애만 retryPolicy로 재시도하고, 요청 오류를 나타내는 코드에는 재전송하지 않는다.
연결할 때 브로커에 등록한 Will 메시지와 retain을 결합하여 online/offline 상태 토픽을 구성한다.
함수에 @mcp.tool()을 적용하면 함수 이름, Docstring, 타입 힌트가 각각 도구 이름, 설명, 입력 스키마가 된다.
FastAPI 하나가 화면과 /api를 함께 제공하도록 구성하고, Nginx는 모든 요청을 그대로 전달한다.
단절은 docker pause, 지연과 손실은 tc netem, 중복은 동일 메시지 재전송으로 주입하여 복구 동작을 확인한다.
유닛으로 등록한 프로세스는 부팅 시 기동되고 장애 시 재기동되며, 재시작 정책·메모리 상한·작업 디렉터리는 유닛 파일에 지정한다.
Nginx 플러그인이 설정 파일을 수정하는 문제를 피하기 위해 갱신 방식을 Webroot 방식으로 전환한다.
조회 도구만 즉시 실행을 허용하고, 변경 동작은 제안으로 접수하여 사람이 승인한 뒤 코드가 실행한다.
인증 없이 공개된 서버에서는 /docs와 /openapi.json을 비활성화한다.
Mosquitto 2.0은 설정이 없으면 로컬 접속만 허용하므로 listener, 비밀번호 파일, ACL 파일을 함께 설정한다.
수동으로 기동한 프로세스가 포트를 점유하고 있으면 해당 유닛은 재시작만 반복한다.
서버 내부에서 자신의 공인 주소로 접속되지 않을 때 curl --resolve로 확인한다.
모델은 도구의 이름, 설명, 입력 스키마만 읽고 도구를 선택하므로 설명은 구체적으로 작성하고 인자는 enum과 범위로 제한한다.
Keepalive는 PING으로 단절된 연결을 감지하지만, 서버의 허용 간격보다 짧은 주기로 전송하면 연결이 종료된다.
인증 없이 200 응답만 반환하는 주소 하나를 두면 서비스 점검과 기동 확인이 간단해진다.
상대 시스템 대신 약속된 응답을 반환하는 Mock 서버를 두고, 수신한 요청을 기록하여 검증에 사용한다.
구독은 세션에 포함되어 세션이 새로 시작되면 삭제되므로 on_connect 내부에서 다시 구독한다.
서버는 yield로 상태를 전송하고 클라이언트는 for로 수신하며, 단절된 호출은 서버가 직접 확인하여 종료한다.
로컬 도구에는 클라이언트가 실행하는 Stdio, 원격 서버에는 단일 엔드포인트에 POST하는 Streamable HTTP가 적합하다.