• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Blokada zapytań GET z socket.io do laravel

Object Storage Arubacloud
0 głosów
243 wizyt
pytanie zadane 13 października 2023 w JavaScript przez JaaO Początkujący (490 p.)

Witam,

Mam problem z socket.io, na serwerze lokalnym windows (laragon) wszystko działa prawidłowo, jednak na serwerze produkcyjnym (debian, direactadmin) wyrzuca błąd podczas zapytań GET. Zapytania POST działają poprawnie. Po stronie laravel wszystko jest w porządku, sprawdzałem przez Postman, prawidłowo zwraca poprzez GET.

 

 

import axios from "axios";

export default function ({ socket, application }) {
    socket.on("send-api", (args, callback) => {
        let url = application.basicUrl + "/" + args.url;
        axios(url, {
            method: args.method,
            data: JSON.stringify(args.data),
            headers: {
                "Content-Type": "application/json",
                Accept: "application/json",
                "APP-KEY": process.env.APP_KEY,
            },
        })
            .then((response) => {
                console.log(response);
                const data = {
                    data: response.data,
                    status: response.status,
                };
                callback(data);
            })
            .catch((error) => {
                console.log(error);
                const data = {
                    message: error.message,
                    code: error.code,
                };
                callback(data);
            });
    });
}

 

    data: '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n' +
      '<html><head>\n' +
      '<title>406 Not Acceptable</title>\n' +
      '</head><body>\n' +
      '<h1>Not Acceptable</h1>\n' +
      '<p>An appropriate representation of the requested resource could not be found on this server.</p>\n' +
      '</body></html>\n'
  }

 

1 odpowiedź

0 głosów
odpowiedź 13 października 2023 przez Wiciorny Ekspert (270,190 p.)
Sprawdź logi z aplikacji, jaki masz tam błąd?
Czy odpowiednio ustawione masz CORS?
Głównie po stronie serwera  Node.js w celu obsługi zapytań z różnych domen.
 

Upewnij się, że konfiguracja serwera HTTP (Nginx, Apache) na serwerze produkcyjnym zezwala na zapytania GET podczas konfiguracji.
Podstawą jest błąd jaki otrzymujesz w logach, który jasno Cię będzie wstanie nakierować.
komentarz 13 października 2023 przez JaaO Początkujący (490 p.)
Jedyny błąd jaki mam to 406, który w odpowiedzi otrzymuje socket.io (kod powyżej).

Logi laravel czyste.
komentarz 13 października 2023 przez Wiciorny Ekspert (270,190 p.)

Dla 406 - definicja  serwer nie może wygenerować odpowiedzi odpowiadającej liście akceptowalnych wartości zdefiniowanych w nagłówkach proaktywnej negocjacji treści żądania i że serwer nie chce udostępnić reprezentacji domyślnej.

Więc generalnie może to być albo CORS, sprawdź po stronie przeglądarki, czy tam coś nie halo, jesli 406- zwrócone masz to po stronie serwera jeśli w ogóle logi zaimplementowane masz musiałoby coś być, albo rządanie ma błędne nagłówki, dane/format.

komentarz 13 października 2023 przez JaaO Początkujący (490 p.)
Jedyne co to właśnie 406
Tak jak mówię, dokładnie ten sam kod, to samo zapytanie działa prawidłowo na localhost.

Laravel też prawidłowo zwraca dane na produkcji więc tu musi być problem , ale nie mogę w żaden sposób dojść do tego co jest nie tak.
komentarz 13 października 2023 przez JaaO Początkujący (490 p.)
Jest szansa, że to coś z SSL?

Podobne pytania

0 głosów
0 odpowiedzi 375 wizyt
pytanie zadane 3 maja 2023 w JavaScript przez kordix Gaduła (3,910 p.)
+1 głos
1 odpowiedź 123 wizyt
pytanie zadane 11 stycznia w Java przez Specjalny Nowicjusz (230 p.)
0 głosów
0 odpowiedzi 116 wizyt

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...