Puncte:0

Aplicația DO care găzduiește un site care încearcă să se conecteze la un DO Droplet care găzduiește un API are ca rezultat o respingere necontrolată

drapel cc

S-a sugerat să postezi aici de la stackoverflow. Iată speranța.

Există două componente ale aplicației mele:

  • O „aplicație” DO care găzduiește un site web react. Acest site face cereri către:
  • O „Droplet” DO care găzduiește un API

Când încerc să mă conectez la Droplet din mediul meu de dezvoltare, datele sunt returnate și aplicația react implementată local afișează datele.

Cu toate acestea, când implementez aplicația react în aplicația DO și încerc să fac aceeași solicitare, primesc eroarea: Respingere netratată (TypeError): Nu este permis să solicite resursă. Consola browserului oferă următoarele.

Nu este permis să solicite resursă
Fetch API nu poate încărca http://xxx.xxx.xxx.xxx:8080/search/ din cauza verificărilor de control al accesului
Respingere netratată de promisiune: TypeError: Nu este permis să solicite resursă.

Am încercat atât IP-ul public pentru Droplet-ul care găzduiește API-ul, cât și IP-ul privat. Aceeași problemă apare odată ce aplicația este implementată în aplicația DO.

Eroare

Ce zone pot căuta unde ar putea apărea o problemă?

const fetchReferences = async () => {

fetch(âhttp://xxx.xxx.xxx.xxx:8080/search/â, {. //aceasta este linia care dă erori. 
metoda: âPOSTâ,
body: JSON.stringify({
url: searchState.searchCriteria

Pe API-ul python, permit totul să treacă:

aplicație = Balon (nume)
CORS(aplicație, resurse={r"/â: {"originsâ: ââ}})
api = Api(aplicație)
parser = reqparse.RequestParser()

Logare

Jurnal de ieșire Refgator API introduceți descrierea imaginii aici

Jurnalul erorilor API Refgator

introduceți descrierea imaginii aici

Probleme CORS?

Asa de...

De ce o instanță a site-ului web încărcată local cu fire se conectează cu succes la picătură?

Bănuiesc că acest lucru se poate datora căilor partajate cu Droplet-ul care găzduiește API-ul.

De ce o instanță a site-ului web încărcată pe platforma DO App se conectează fără succes la picătură?

Am văzut postări referitoare la problemele CORS între picături și aplicații găzduite pe Digital Ocean. Vedea Aici și Aici.

Cunoștințele mele despre CORS sunt inexistente, așa că confirmarea acestui lucru necesită extrem de consumatoare de timp.


Cel mai bine ar fi să mutați repo-ul înapoi în bitbucket și să încercați să utilizați o picătură, mai degrabă decât o aplicație.

Michael Hampton avatar
drapel cz
Te-ai uitat de ce se blochează aplicația ta Flask? Aceasta nu pare o întrebare pentru Server Fault (cel puțin nu încă). Încă trebuie să depanați codul.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.