Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Erro Heroku, request bloqueada, tem que ser HTTPS

Boa noite,

após subir meu projeto no heroku, está dando esse erro, quando é feita alguma chamada ajax.

erro:

Mixed Content: The page at 'https://importhairspringmvc.herokuapp.com/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://importhairspringmvc.herokuapp.com/login'. This request has been blocked; the content must be served over HTTPS.

pelo jeito ele diz que a minha pagina foi carregada em HTTPS mas a chamada foi bloqueada porque não está sendo feita em HTTPS .

isso que eu entendi, está aqui minha chamada ajax:


var ajaxCart = function() {

    $.ajax({
        type : "GET",
        url : "https:/importHair/cartPage/",
        data : {},

        success : function(resultado) {

            if ($(".bag-quant").text() == "0") {
                $(".container-car-box").html("<p class=text-cart-empty>Seu carrinho está vazio</p>");
            }
        }
    })
}

$(".bag-header").on("mouseenter", ajaxCart)

já fiz a mudança mas nao funcionou.

obrigado.

2 respostas

Nunca passei pelo problema e várias pessoas relatam isso, realmente. Não achei e nem pensei numa solução matadora. A única coisa super estranha é esse endreço aqui => https:/importHair/cartPage/

Acho que ta faltando completar algo. Se quiser ler mais https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content/How_to_fix_website_with_mixed_content

Alberto vou ler pra ver se acho alguma coisa, agora o que puder perceber, e que se eu faço algumas atividades no site ele para de bloquear e me da apenas um aviso.

Procurando na internet eu achei essa linha de configuração:

@Override
protected void configure(HttpSecurity http) throws Exception {
http.requiresChannel().antMatchers("/login**,/user**").requiresSecure();
}

Realmente se eu adiciono esse código o erro para, mas também fica liberada todas as paginas o Spring security não bloqueia mais nada.

Se eu coloco essa linha de código e coloco tbm o comando para bloquear:

.anyRequest().authenticated()

ele volta a bloquear as paginas que exigem credencias , mas tbm o erro de HTTPS volta a aparecer.

Quanto ao endereço, ele fica em um mouseEnter jqeury no meu cabeçalho, e ele apenas nao funciona na pagina inicial, se eu ativo na pagina do carrinho de itens ele não bloqueia.

Realmente e muito estranho.

Obrigado pela atenção, se souber como mesclar as configuração do security que coloquei, e tbm as de bloqueio agradeço muito.