
Problema
O Apache não está reportando HTTPS na $_SERVER
variável PHP. O certificado está configurado corretamente de acordo comsslcheck.nle o site redireciona todas as solicitações HTTP para o equivalente HTTPS.
$_SERVER
variável:
HTTPS
chave não existeSERVER_PORT
é 80 em vez de 443HTTP_X_FORWARDED_PROTO
não está definidoREQUEST_SCHEME
é http em vez de https
Sem esses valores, a estrutura Symfony e o Wordpress não podem determinar se o site está sendo executado em uma conexão segura.
Configuração
Estou executando umLÂMPADA Bitnamipilha. Pelo que sei, o servidor não executa um proxy reverso. O site tem mod_pagespeed configurado, mas não creio que esteja configurado como proxy reverso. Tentei desabilitar o mod_pagespeed para um vhost de teste, mas o Apache continua reportando http.
Qual mais poderia ser o motivo para o Apache relatar HTTP/HTTPS incorretamente?
Atualizar
Saída denetstat -plnt
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 65034/master
tcp 0 0 127.0.0.1:2812 0.0.0.0:* LISTEN 2295/monit
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1801/mysqld.bin
tcp 0 0 127.0.0.1:12301 0.0.0.0:* LISTEN 48346/opendkim
tcp 0 0 127.0.0.1:21 0.0.0.0:* LISTEN 731/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1889/sshd
tcp6 0 0 ::1:25 :::* LISTEN 65034/master
tcp6 0 0 :::443 :::* LISTEN 25401/httpd
tcp6 0 0 :::80 :::* LISTEN 25401/httpd
tcp6 0 0 :::22 :::* LISTEN 1889/sshd
Configuração do Vhost:
<VirtualHost *:80>
ServerName mydomain.com
DocumentRoot "/opt/bitnami/apps/mydomain/htdocs/web"
RewriteEngine On
#redirect non-www to https://www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#redirect http://www. to https://www.
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
CustomLog /opt/bitnami/apache2/logs/mydomain-http.log combined
Include "/opt/bitnami/apps/mydomain/conf/httpd-app.conf"
</VirtualHost>
<VirtualHost *:443>
ServerName mydomain.com
DocumentRoot "/opt/bitnami/apps/mydomain/htdocs/web"
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
CustomLog /opt/bitnami/apache2/logs/mydomain-https.log combined
SetEnv HTTPS on #Added this to force https environment variable
Include "/opt/bitnami/apps/mydomain/conf/httpd-app.conf"
</VirtualHost>
Responder1
Parece-me que você está de fato acessando o Apache via HTTP e não HTTPS (que é o que ele está lhe dizendo).
Se você verificar seu arquivo de configuração do Apache, deverá ter 2 sites, um para: 80 (HTTP) e outro para: 443 (HTTPS). O primeiro deve redirecionar o tráfego para o segundo. Se você garantir que o site com VIRTUALHOST terminando em :80 (que é o que eu acho que você está realmente usando) tenha um arquivo de log diferente daquele que termina em :443 (que é o host HTTPS que você pensa que está usando), então você poderá observar os arquivos de log, para ter certeza de qual site está visualizando.
É possível que algo esteja encapsulando a conversa HTTP desembrulhada para o Apache, tendo gerenciado a parte SSL, mas depois de analisar os documentos do bitnampi, eles não fazem isso, então você mesmo teria que configurar algo como stunnel. Como disse Hakan Lindqvist, se netstat -lpn mostra apenas o apache escutando em: 443 e: 80, então a verdade deve estar no arquivo de configuração do apache. Como mencionei acima, sugiro configurar os troncos para ter certeza, mas geralmente, se ele se parece com um pato, grasna como um pato e gosta de passar o tempo em lagos, nadar na chuva, primeiro trabalhe no pressuposto de que é um pato pois é improvável que seja um gato.
Você talvez ache isso útil:https://wiki.bitnami.com/Components/Apache#How_to_enable_HTTPS_support_with_SSL_certificates
É importante notar que este é um exemplo de configuração de site HTTPS (no link acima)
<VirtualHost *:443> SSLEngine on DocumentRoot "/opt/bitnami/apps/sugarcrm/htdocs" ServerName my-sugarcrm.example.com SSLCertificateFile "/opt/bitnami/apache2/conf/my-sugarcrm.crt" SSLCertificateKeyFile "/opt/bitnami/apache2/conf/my-sugarcrm.key" </VIrtualHost>