zajeli-wszystkie-loginy zajeli-wszystkie-loginy 22.09.2022, 16:59:09 0 + #django #react #programowanieMam serwer z linuchem: Na serwerze jest odpalone Django (localhost:22222)settings.py:ALLOWED_HOST = ['*']CORS_ALLOW_ALL_ORIGINS = Truenginx:server { listen 9999 ssl http2; server_name x.x.x.x; ssl on; ssl_certificate_key /xxx/ssl/key.pem; ssl_certificate /xxx/ssl/cert.pem; #ssl_protocols TLSv1.2 TLSv1.3; error_page 497 https://$host:9999$request_uri; location / { #proxy_redirect off; #proxy_set_header Host $host; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-Host $host; #proxy_set_header X-Forwarded-Server $host; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_set_header Upgrade $http_upgrade; #proxy_set_header Connection "Upgrade"; if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTIONS, GET, POST, DELETE, PUT, PATCH'; #add_header '' ''; #return 204; } add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'OPTIONS, GET, POST, DELETE, PUT, PATCH'; add_header 'Access-Control-Allow-Headers' 'Content-Type'; proxy_pass http://localhost:22222; #server_name_in_redirect off; }}Postmanem działa.Na Chrome - CORS Erroredit:corsheaders jest zainstalowane.reactjs hula na u mnie na localu i fetch nie działa do tego serweraNie ogarniam do końca, pomoże ktoś?
ivall ivall 22.09.2022, 17:03:25 0 + @zajeli-wszystkie-loginy: wgraj corsheaders do projektu i wtedy w settings.py zezwól
zajeli-wszystkie-loginy zajeli-wszystkie-loginy 22.09.2022, 17:04:24 0 + @ivall: mam juz paczke dociągniętą
ivall ivall 22.09.2022, 17:06:28 0 + @zajeli-wszystkie-loginy: dodałeś corsheaders do INSTALLEDAPPS i corsheaders.middleware.CorsMiddleware do MIDDLEWARE oraz 'corsheaders.middleware.CorsMiddleware', do MIDDLEWARECLASSES ?
ivall ivall 22.09.2022, 17:12:36 0 + @zajeli-wszystkie-loginy: to nie wiem, u mnie zawsze działa po ogarnięciu corsheaders, sprawdź jakie nagłówki zwraca backend
zajeli-wszystkie-loginy zajeli-wszystkie-loginy 25.09.2022, 14:26:27 2 + @ivall: przy tworzeniu fetcha w reactjs uzywałem nazw metod pisanych z małych liter ¯\_(ツ)_/¯
Mam serwer z linuchem:
Na serwerze jest odpalone Django (localhost:22222)
settings.py:
ALLOWED_HOST = ['*']CORS_ALLOW_ALL_ORIGINS = True
nginx:
server {
listen 9999 ssl http2;
server_name x.x.x.x;
ssl on;
ssl_certificate_key /xxx/ssl/key.pem;
ssl_certificate /xxx/ssl/cert.pem;
#ssl_protocols TLSv1.2 TLSv1.3;
error_page 497 https://$host:9999$request_uri;
location / {
#proxy_redirect off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-Host $host;
#proxy_set_header X-Forwarded-Server $host;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "Upgrade";
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'OPTIONS, GET, POST, DELETE, PUT, PATCH';
#add_header '' '';
#return 204;
}
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'OPTIONS, GET, POST, DELETE, PUT, PATCH';
add_header 'Access-Control-Allow-Headers' 'Content-Type';
proxy_pass http://localhost:22222;
#server_name_in_redirect off;
}
}
Postmanem działa.
Na Chrome - CORS Error
edit:
corsheaders jest zainstalowane.
reactjs hula na u mnie na localu i fetch nie działa do tego serwera
Nie ogarniam do końca, pomoże ktoś?