Nginx и 400 в PHP

Сделал я запрос:

curl -i 'http://site/page'

И попытался я в PHP отправить header 400 с контентом и получил: 

HTTP/1.1 400 Bad Request
Server: nginx/1.4.6 (Ubuntu)
Date: Fri, 28 Aug 2015 12:04:13 GMT
Content-Type: text/html
Content-Length: 583
Connection: close

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.4.6 (Ubuntu)</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->

Т.е. 400-ый хедер nginx переслал мне правильно, но каково было мое удивление не увидеть моего контента.

А значит, скорее всего проблема в Вашем Nginx-конфиге, а именно - в нем присутствует обработка 400-го статуса, например:

server {
   ...
   error_page 400  /index.php;
   ...
}

Если все равно не получилось, то включение настройки proxy_intercept_errors может помочь

p.s. если, Вы попытаетесь найти откуда nginx подставляет:

a padding to disable MSIE and Chrome friendly error page

то найти файл не получится и отключить это нельзя, т.к. все эти строки прописаны в исходниках nginx-a:

0035 static u_char ngx_http_msie_padding[] =
0036 "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF
0037 "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF
0038 "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF
0039 "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF
0040 "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF
0041 "<!-- a padding to disable MSIE and Chrome friendly error page -->" CRLF
0042 ;

Всем удачки!

Оцени публикацию:
  • 2,10
Оценили человек: 2
Теги : nginx, replaced content, header 400

Похожие статьи:


Комментарии посетителей:
  • Добрый день у меня похожая ошибка, но работает reverse proxy nginx совместно с modsecurity, необходимую настройку я его сделал. Но все равно идет блокировка, при этом в отладочном логе не написано на что идет false positive, вставляю часть кода ответов nginx
    HTTP/1.1
    Content-Type: text/html
    Content-Length: 166
    Connection: close

    --1386ba20-E--
    <html>
    <head><title>400 Bad Request</title></head>
    <body bgcolor="white">
    <center><h1>400 Bad Request</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>

    --1386ba20-H--
    Apache-Handler: IIS
    Stopwatch: 1531836614000975 5049896 (- - -)
    Stopwatch2: 1531836614000975 5049896; combined=1386309, p1=428, p2=1385550, p3=58, p4=205, p5=67, sr=157, sw=1, l=0, gc=0
    Response-Body-Transformed: Dechunked
    Producer: ModSecurity for nginx (STABLE)/2.9.1 (http://www.modsecurity.org/); OWASP_CRS/3.0.2.
    Server: ModSecurity Standalone
    Engine-Mode: "ENABLED"
    17 июля 2018, 14:21 коммент полезен : 0 # Андрей23
Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » Unix »