Acontece que eu precisava adicionar:
fastcgi_param HTTPS on;
no bloco de localização passando para o php e tudo está funcionando como pretendido.
Eu tenho nginx no front end interpretando ssl e redirecionando todo o tráfego não https para https:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
de lá, o próximo bloco de servidores interpreta ssl e passa para o verniz:
server {
listen 443 ssl spdy;
server_name example.com www.example.com;
...<ssl stuff>...
location / {
proxy_pass http://127.0.0.1:6081;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
proxy_redirect off;
}
}
Eu tirei tudo do verniz para ajudar a depurar meu problema e agora ele só retorna ao nginx na porta 8080
backend default {
.host = "127.0.0.1";
.port = "8080";
}
de volta ao bloco do servidor nginx 8080:
server {
listen 8080;
server_name example.com www.example.com;
...<access logs root index stuff>...
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass php;
}
}
a variável php aponta para um upstream para hhvm em 127.0.0.1:hhvmport com um fallback para 127.0.0.1:php-fpmport.
Quando tento acessar o admin do wordpress, recebo um loop de redirecionamento. Eu não tenho certeza se este é um problema de wordpress ou configuração do servidor porque quando eu remover o hhvm do upstream e ir diretamente para php-fmp não tenho nenhum problema. também curl -I link mostra um redirecionamento 302 para link em vez de 301. Além disso, se eu tirar o verniz da imagem completamente, hhvm permitir o acesso ao wp-admin muito bem. Os cabeçalhos são adicionados (X-Forwarded etc ..) confundindo hhvm e esperando que o tráfego venha de 443?
/var/log/hhvm/error.log não está me mostrando nada, exceto o jit sendo criado Ligado redirecionamento log in nginx e não está me ajudando também. Não estava esperando, mas valeu a pena.
Realmente confuso sobre o que está acontecendo aqui. Eu não tinha certeza se isso pertencia à seção wordpress, já que remover o verniz corrige o problema ou ignorar o hhvm na seção admin do wordpress também corrige o problema, parece mais um problema de configuração. Qualquer ajuda seria muito apreciada. Rodando no Ubuntu 14.04, se isso tiver algum significado.
Isso pode acontecer quando você configura o WordPress para redirecionar todo o tráfego inseguro para um URL seguro (por exemplo, por meio de .htaccess
). O que acontece é que o primeiro pedido chega, é removido dos cabeçalhos SSL e atinge o WordPress, que percebe que a conexão não é segura e, consequentemente, envia um redirecionamento para o cliente.
Se você não acha que o WordPress está fazendo isso, tente com algum PHP simples (algo realmente direto como <?php phpinfo(); ?>
). Se o fizer com o PHP simples, a melhor maneira de depurar isso tende a ser farejar o tráfego entre o Ponto A e o Ponto B (para ver onde a desconexão entre o tráfego esperado e a realidade está aparecendo), ou ir diretamente para o interessante portas (por exemplo, através da sintaxe http://host:port/
URI, modificando seu arquivo "hosts" e / ou usando o encaminhamento de porta) e subindo o serviço de uma pilha por vez até obter dados inconsistentes com o que você espera.