Eu tenho um site que pode ser acessado por http e https. Vejo que a análise de segurança reclama que base_url
não está definida em settings.php
.
No entanto, quando eu o defino como http://example.com
e libero todos os caches, meu modelo em https não é renderizado.
Quando eu comento a $base_url
linha, settings.php
tudo volta ao normal.
Como posso resolver esse problema?
Respostas:
Você provavelmente precisa fazer algo assim:
... para que o Drupal saiba qual protocolo usar, dependendo de como o site foi acessado.
fonte
Eu tive sorte com:
Além disso, para manter o cookie da sessão, eu normalmente adiciono:
o que permite o modo misto.
fonte
url('path', array('absolute'=>TRUE));
seja renderizado como//mysite.com/path
. Você deve usar a abordagem de @ colan em vez desta.Isso funciona bem para mim com vários domínios na mesma instalação do Drupal sobre CloudFlare:
Assim, ele também funciona bem com o SSL flexível CloudFlare. Eu posso acessar o site com e sem SSL.
(Parece que você não precisa do módulo Cloudflare, mas também não seria prejudicial habilitá-lo.)
fonte
Infelizmente, o problema com a configuração do protocolo relativo à URL acessada é que o site apenas faz referência a isso ao criar os arquivos em cache e, portanto, cria todas as referências a arquivos e recursos com base no protocolo usado na reconstrução do cache do site.
Portanto, se você reconstruir o cache a partir de https, todos os links serão https. Se você recriar o site a partir de http, todos os links serão http.
A reconstrução do https funciona melhor, mas os navegadores ainda podem bloquear o conteúdo seguro e exigir que os usuários permitam manualmente o conteúdo bloqueado.
fonte