#php #nginx #haproxy
#php #nginx #haproxy
Вопрос:
У меня есть haproxy lb, работающий локально с nginx, и примерно в 30% случаев имя сервера не распознается моим php-приложением (я вижу много неопределенных переменных: _SERVER
) в журналах. Я прошел через PHP и NGINX conf, но все еще не могу разобраться в этом, поэтому спрашиваю профессионалов.
Я пробовал добавлять информацию заголовка, пересылать и т. Д., Но все равно эта ошибка остается. Кто-нибудь видел это или знает решение? Я просто не могу ее решить.
Соответствующая часть моего HAPROXY,
default
option forwardfor
option prefer-last-server
option http-server-close
no option http-keep-alive
no option checkcache
timeout http-keep-alive 15s
timeout http-request 15s
timeout tarpit 60s
backend
http-send-name-header Host
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
http-request set-header X-Custom-Header %[url]
http-response set-header X-Server-Name %s
http-response set-header X-Server-IP %si
acl set_cookie_len res.hdr(Set-Cookie) -m len 0
rspidel Set-Cookie if set_cookie_len
#
cookie SRV_ID insert indirect nocache maxidle 30m maxlife 8h
Комментарии:
1.
Undefined variable: _SERVER
похоже, это будет проблемой в PHP, а не в HAProxy. Эта ошибка, похоже, пытается сообщить вам, что весь$_SERVER
массив , содержащий гораздо больше, чем просто ваши пользовательские заголовки, не определен.2. Но на соединение сначала отвечает HAPROXY, затем передается бэкэндам, кажется, пустым… и журнал, упомянутый в моем первоначальном посте, — это PHP5-FPM.