내 디스크에는/var/www/mywebsite/hello.html
손님이 올 때마다http://mywebsite.com/hello.html, 상태 코드를 200이 아닌 123으로 설정하고 싶습니다.
server {
...
location /hello.html {
return 123;
}
이 구성 파일을 사용하고 있습니다. 내가 갈 때http://mywebsite.com/hello.html, 빈 페이지가 보이지만 상태 코드가 123입니다.
페이지 내용과 123 상태 코드를 보는 방법은 무엇입니까?
편집하다:
"402 결제 필요" 또는 "500 내부 서버 오류"와 함께 hello.html을 반환할 수 있나요?
구문이 필요합니다.
답변1
HTTP에서는 이를 허용하지 않습니다. 1xx 가족 코드는 응답에 포함될 수 없습니다.RFC2616(즉, HTTP 프로토콜):
10.1 정보 1xx
이 유형의 상태 코드는 임시 응답을 나타내며 다음을 포함합니다.오직상태 줄과 선택적 헤더로 구성되며 빈 줄로 끝납니다.
따라서 nginx를 사용하여 이 작업을 수행할 수 있더라도(내 생각엔 가능하다고 생각함) 브라우저에 전송된 내용이 표시되지 않을 수 있습니다.
(데이터를 포함해서는 안 되는 응답을 통해 전송된 데이터를 표시하지 않는 것은 실제로 공격자가 서버 버그를 악용하는 것을 더 어렵게 만드는 좋은 방법입니다. 이러한 버그를 통해 공격자는 브라우저가 잘못된 요청을 하도록 할 수 있으며, 오류 처리 시 이를 주입할 수 있습니다. 따라서 데이터는 웹 서버가 아닌 서버를 손상시키지 않고도 브라우저 사용자에게 쉬운 보안을 제공합니다.무섭게구성 오류입니다. )