외부 DTD 및 XML 리소스에서 발생하는 프록시 407 오류
문서 변환 중 파서가 여는 외부 DTD, 스키마 또는 기타 리소스로 인해 발생하는 예기치 않은 407을 추적하세요.
로컬 문서도 변환 중에 407을 일으킬 수 있습니다. 해당 XML이 DTD, 스키마 또는 엔터티를 지정하고 렌더러가 스타일이나 이미지를 가져올 수 있습니다. 실패한 클라이언트는 원래 다운로드가 끝난 뒤 그 파서 내부에 있을 수 있습니다.
예외 스택과 요청된 URI를 보관한 다음 입력 선언이나 리소스 참조와 대조하세요. 표준 호스트로의 DTD 요청은 페이지 요청과는 다른 작업입니다. HTML→PDF 변환도 원격 자산을 가져오는 동안 실패할 수 있습니다.
계약이 DTD와 외부 확인을 금지하는 .NET XmlReader 입력의 경우 다음을 사용하세요:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};이 설정을 문서를 실제로 구문 분석하는 구성 요소에 전달하세요. DtdProcessing은 DTD 처리 방식을 선택하고, XmlResolver은 외부 액세스를 제어합니다. Prohibit는 DTD가 있는 문서를 거부합니다—선언을 제거하지는 않습니다. 워크플로에 DTD가 필요하면 승인된 로컬 확인이나 명시적으로 라우팅된 resolver를 선택하세요.
기본값은 API/런타임에 묶어 두세요. XmlReaderSettings는 기본적으로 Prohibit를 사용하며, 기본 resolver는 .NET Framework 4.5.2부터 null로 변경되었습니다. 타사 변환기는 이를 재정의하거나 다른 파서를 사용할 수 있습니다.
XHTML 선언을 HTML doctype으로 바꾸면 한 변환기에 영향을 줄 수 있지만, 그 프록시를 구성하지는 않습니다. 필요한 리소스와 로드 정책을 정하세요. 초기 페이지 클라이언트의 인증은 이 두 번째 클라이언트를 인증하지 않습니다.