Получение net :: ERR_EMPTY_RESPONSE в локальной apache настройке - PullRequest
5 голосов
/ 21 января 2020

Я занимаюсь разработкой локального веб-приложения, которое выполняет вызовы API. Некоторые вызовы API неожиданно перестали работать, а другие продолжают работать. Если я go непосредственно на конечную точку API в моем браузере, то в первый раз он всегда возвращает:

This page isn’t working
samplesite.com didn’t send any data.
ERR_EMPTY_RESPONSE

Заголовки запроса:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Cookie: PHPSESSID=xxx; _ga=GAxxx; _gid=GAxxx; __stripe_mid=xxx; __stripe_sid=xxx
Host: samplesite.com
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36

В моем * появляется ошибка 1031 * log:

[Mon Jan 20 22:10:18.133644 2020] [core:notice] [pid 4702] AH00052: child pid 6191 exit signal Segmentation fault (11)
[Mon Jan 20 22:14:02.343396 2020] [core:notice] [pid 4702] AH00052: child pid 6241 exit signal Segmentation fault (11)
[Mon Jan 20 22:14:02.343886 2020] [core:notice] [pid 4702] AH00052: child pid 6240 exit signal Segmentation fault (11)
[Mon Jan 20 22:14:07.349923 2020] [core:notice] [pid 4702] AH00052: child pid 6212 exit signal Segmentation fault (11)

Попытка получить подробную информацию о процессе не приводит к каким-либо результатам:

alan:~$ ps -p 6212
PID TTY           TIME CMD

Если я обновлю sh страницу, второй раз (и все дополнительное время) он вернет правильные данные (для тестирования я сделал конечную точку API просто вывести «hello world»).

Чтобы решить, я попытался:

  • перезапуск apache
  • очистка кеша браузера
  • выполнение запроса в режиме инкогнито
  • в Firefox, Safari и Chrome

Я только что обновился до Каталины но не думаю, что это связано, так как я считаю, что у меня была эта ошибка раньше, и она ушла сама по себе.

Есть предложения? Спасибо.

Ответы [ 2 ]

1 голос
/ 27 января 2020

Чтение ошибки в Firefox дало немного больше подсказки. Ошибка Firefox говорит:

Secure Connection Failed: The page you are trying to view cannot be shown because the authenticity of the received data could not be verified

Так что по какой-то причине существует проблема SSL. Я локально создал самозаверяющий сертификат SSL для тестирования (с поддержкой подстановочных поддоменов); срок его действия не истек, поэтому я не уверен, почему это внезапно проблема.

Решение: не используйте https локально и обновляйте мои файлы .htaccess, чтобы принудительно вызывать https только на действующем сайте (mysite. com), а не сайт разработчика (mysite.test):

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} mysite.com$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Я также удалил Apache и OpenSSL, но я не думаю, что это решило его.

0 голосов
/ 27 января 2020

Попробуйте вместо этого:

RewriteCond %{HTTPS} !on
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ ([^\ ]+)
RewriteRule ^ https://%{HTTP_HOST}%2 [L,R=301]

Вы по-прежнему хотите, чтобы перенаправление https было включено, помимо очевидного, на рейтинг вашего сайта повлияет отсутствие полной поддержки https.

...