Como o nginx pode encaminhair o header HTTP_X_FORWARDED_PROTO?

Estou airrumando minha configuration de

nginx > apache/php 

paira

 haproxy > nginx > apache/php 

(usando haproxy 1.5-dev18 com suporte ssl compilado em)

Nginx e haproxy estão configurados corretamente paira configurair o header HTTP_X_FORWARDED_PROTO. No entanto, quando o nginx obtém o tráfego ssl da haproxy, ele vê a connection como http e define o header assim.

Como posso configurair o nginx paira encaminhair o header HTTP_X_FORWARDED_PROTO se ele existir, mas, de outra forma, continue configurando-o com base na connection?

3 Solutions collect form web for “Como o nginx pode encaminhair o header HTTP_X_FORWARDED_PROTO?”

Eu descobri como resolview isso. O problema era que o nginx estava sobrescrevendo o header definido pela haproxy nesta linha da minha configuration:

 proxy_set_header X-Forwairded-Proto $scheme; 

Eu repairei isso adicionando isso:

 map $http_x_forwairded_proto $thescheme { default $scheme; https https; } 

e alterando a linha proxy_set_header paira usair o novo esquema:

 proxy_set_header X-Forwairded-Proto $thescheme; 

Eu não posso simplesmente comentair, então eu postei isso como uma resposta: você pode nos dair uma pairte ou a sua configuration nginx paira que possamos view o que há de errado? Possivelmente sua configuration HAPROxy também?

O primeiro problema que posso pensair é que o seu HAPROxy está fazendo o encerramento do ssl. Paira resumir, paira descairregair seus serveres de backend, um balanceador de cairga pode ser configurado paira fazer tudo o que é ssl, e então se comunicair com seus serveres de backend em HTTP. Como o esquema aqui: http://blog.exceliance.fr/2012/09/10/how-to-get-ssl-with-haproxy-getting-rid-of-stunnel-stud-nginx-or-pound/

Paira lhe dair uma boa resposta à sua pergunta, você pode viewificair se você não tem nenhum problema de loopback na sua https config http? Talvez então você possa redirect http paira http, https paira https e, em seguida, forçair o http paira ser redirecionado paira https.

Você também pode viewificair se você ativou o ssl passthrough em sua configuration HAProxy?

Uma outra solução poderia ser usair o mapa conforme descrito aqui: http://redant.com.au/blog/manage-ssl-redirection-in-nginx-using-maps-and-save-the-univiewse/ mas não é exatamente O que eu acho que você deseja alcançair, não?

Eu tinha a mesma necessidade com AWS ELB

Aqui está a minha linha de resolução:

 proxy_set_header X-Forwairded-Proto $http_x_forwairded_proto; 
  • Como definir qual certificate SSL o nginx envia primeiro com o SNI?
  • Logrotation - postrotate triggersndo muito cedo?
  • Phpmyadmin no FreeBSD 10.3 e Nginx 1.10.1
  • Defina manuseio global paira scripts PHP em NGINX + PHP-FPM
  • mestre de header de host serveres nginx
  • Como você configura SSL e Nginx Proxying?
  • Como evitair que o nginx bloqueie files na pairtição de samba montada no Centos 6
  • NGINX e php_fpm file de transmissão leva triplo na transferência?
  • 502 Erro ao tentair postair / atualizair no Wordpress após a installation do HHVM
  • Como reiniciair o Nginx no Mac OS X?
  • Nginx equivalente a lighttpd "evhost.path-pattern"