2
respostas

Estou enviando uma chamada pelo Axios http, mas ele tenta processar https

Pessoal, não sei se é um erro de React ou do Axios ou da AWS. mas queria muito a ajuda, pois não sei mais o que fazer

Na minha maquina funciona (evidente.. hehehe) mas qdo eu coloco na AWS ele por algum motivo passa a considerar https no endereço e nao acha. se eu coloco http: no postman por exemplo, funciona de boa. abaixo o erro que ele apresenta. sendo que eu coloquei um console.log antes da chamada da API e ele retornou http://

xhr.js:177 XHR failed loading: GET "https://107.22.24.11:8080/api/v1/anuncio/barraLateral".
(anonymous)    @    xhr.js:177
e.exports    @    xhr.js:13
e.exports    @    dispatchRequest.js:50
Promise.then (async)        
s.request    @    Axios.js:61
r.forEach.s.<computed>    @    Axios.js:76
(anonymous)    @    bind.js:9
(anonymous)    @    api_athlete.js:24
c    @    runtime.js:63
(anonymous)    @    runtime.js:293
(anonymous)    @    runtime.js:118
r    @    asyncToGenerator.js:3
l    @    asyncToGenerator.js:25
(anonymous)    @    asyncToGenerator.js:32
(anonymous)    @    asyncToGenerator.js:21
(anonymous)    @    api_athlete.js:16
(anonymous)    @    MenuAtleta.jsx:26
Ds    @    react-dom.production.min.js:262
t.unstable_runWithPriority    @    scheduler.production.min.js:18
Vo    @    react-dom.production.min.js:122
Ms    @    react-dom.production.min.js:261
vs    @    react-dom.production.min.js:243
(anonymous)    @    react-dom.production.min.js:123
t.unstable_runWithPriority    @    scheduler.production.min.js:18
Vo    @    react-dom.production.min.js:122
Go    @    react-dom.production.min.js:123
qo    @    react-dom.production.min.js:122
ys    @    react-dom.production.min.js:244
ru    @    react-dom.production.min.js:289
t.render    @    react-dom.production.min.js:296
108    @    index.js:7
a    @    (index):1
t    @    (index):1
r    @    (index):1
(anonymous)    @    main.166d7e37.chunk.js:1
2 respostas

Fala Rubens, tudo bem?

Você pode tentar forçar que a requisição seja feita com o protocólo http, criando uma instância da requisição, colocando isso na configuração apartir da propriedade proxy:

const api = axios.create({
    baseURL: 'http://107.22.24.11:8080/api/', //Url base, que pode ser a sua api
    proxy: {
            protocol: 'http',
            host: '107.22.24.11',
            port: 8080,
  }, //Configuração do proxy
})

api.get('v1/anuncio/barraLateral') //Aqui fazemos um GET na rota v1/anuncio/barraLateral, não precisamos colocar o URL pois ja especificamos no campo baseURL.

Testa dessa forma, e fala pra gente se deu certo, caso não funcione, será necessário ter acesso ao seu código para ver o que pode estar havendo, então se estiver utilizando o GitHub e o projeto estiver como privado, poderia me adicionar para dar uma olhada? Meu usuário no github é mateushenrique-dev.

Aguardo o seu retorno :D

Mateus, antes de mais nada, muito obrigado por responder. Mais de um ano aqui e você é o primeiro que responde algum questionamento meu. (até quase desistir de escrever aqui)

mas vamos la. fiz o teste e bummm... nao funcionou :(

  baseURL:"http://107.22.24.11:8080/api/",
  proxy: {
          protocol: 'http',
          host: '107.22.24.11',
          port:8080,
  },
});

mas o api.get.. tudo certinho e ele retorna

xhr.js:177 GET https://107.22.24.11:8080/api/v1/anuncio/barraLateral net::ERR_SSL_PROTOCOL_ERROR

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software