переменная сервера haproxy не передается

#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.