NetSendo v2.2.1: koniec z błędem 502 w edytorze e-maili

Masz edytor wiadomości w zakładkach, żeby szybko wracać do kampanii. Albo naciskasz F5 w połowie pisania szkicu. Zamiast wiadomości widzisz pustą stronę 502 Bad Gateway. A gdy przejdziesz do tego samego ekranu, klikając w panelu, wszystko działa. Taki błąd podkopuje zaufanie do platformy, zwłaszcza gdy kampania musi wyjść na czas.
NetSendo v2.2.1 (wydane 2026-11-07) rozwiązuje ten problem. Przyczyną był jeden nagłówek odpowiedzi HTTP, który za bardzo urósł. Wyjaśniamy, co poszło nie tak, jak to naprawiliśmy i co musisz zrobić na swojej instalacji self-hosted. W większości przypadków wystarczy pobrać nowy obraz.
/messages/create lub /messages/{id}/edit (z linku, po odświeżeniu, z zakładki) nie zwraca już błędu 502 Bad Gateway. Nagłówek Link z preloadem zasobów zawiera teraz maksymalnie 8 pozycji, więc nagłówki odpowiedzi mają około 2 KB. Poprawka jest częścią obrazu Docker i nie musisz zmieniać konfiguracji nginx. Nowe instalacje dostają też większe bufory FastCGI w docker/nginx/default.conf.
🚀 Co nowego w v2.2.1
Koniec z 502 przy bezpośrednim wejściu
Edytor wiadomości otwiera się niezawodnie z linków, zakładek i po odświeżeniu.
Mniejsze nagłówki odpowiedzi
Nagłówek Link ma limit 8 zasobów, dzięki czemu nagłówki mają około 2 KB.
Ta sama szybkość ładowania
Każdy chunk nadal jest wstępnie ładowany przez tagi <link rel="modulepreload"> w HTML.
Zapas w nginx
Nowe instalacje mają większe bufory FastCGI na wypadek, gdyby nagłówki znów urosły.
Objaw: kliknięcie działa, odświeżenie nie
Panel NetSendo działa jak aplikacja typu single-page. Gdy klikasz link w panelu, frontend pobiera tylko dane dla kolejnego ekranu, bez ponownego żądania całego dokumentu HTML. Pełne ładowanie strony wygląda inaczej: wpisanie adresu, odświeżenie, otwarcie zakładki albo linku z maila to żądanie całej strony razem z nagłówkami.
Dlatego błąd pojawiał się tylko przy pełnym ładowaniu edytora, czyli pod /messages/create i /messages/{id}/edit.
Przyczyna: za duży nagłówek
Laravel ma middleware AddLinkHeadersForPreloadedAssets. Dodaje on nagłówek HTTP Link, który każe przeglądarce wcześniej zacząć pobierać JavaScript i CSS strony. Middleware wpisywał do tego jednego nagłówka wszystkie chunki strony.
Edytor wiadomości to jeden z najbardziej rozbudowanych ekranów NetSendo, z około 27 chunkami JavaScript i CSS. Do tego dochodzą bezwzględne adresy URL zasobów i ciasteczka sesji. W efekcie nagłówki odpowiedzi przekraczały domyślny bufor FastCGI nginx (4 KB). Gdy nagłówki z PHP-FPM nie mieszczą się w tym buforze, nginx odrzuca odpowiedź i zwraca 502 Bad Gateway.
ℹ️ Analogia: Nagłówki odpowiedzi to etykieta na paczce, a bufor FastCGI nginx to miejsce na etykietę na taśmie sortowni. Sama paczka (strona) była w porządku. Etykieta zrobiła się po prostu tak długa, że się nie mieściła, więc paczkę odrzucono, zanim ktokolwiek ją otworzył.
Poprawka: limit 8 zasobów w nagłówku preload
NetSendo rejestruje teraz middleware z limitem w pliku bootstrap/app.php:
use Illuminate\Http\Middleware\AddLinkHeadersForPreloadedAssets;
// Nagłówek Link zawiera teraz maksymalnie 8 zasobów
AddLinkHeadersForPreloadedAssets::using(8)
Dzięki temu nagłówki odpowiedzi mają około 2 KB na każdej stronie, czyli mieszczą się z zapasem w domyślnym buforze nginx.
Nic nie ładuje się później niż wcześniej. HTML strony nadal ma tag <link rel="modulepreload"> dla każdego chunka, więc przeglądarka od początku zna wszystkie zasoby. Nagłówek po prostu nie powtarza już całej listy.
💡 Warto wiedzieć: Poprawka jest częścią obrazu NetSendo. Żeby ją dostać, nie musisz zmieniać konfiguracji nginx. Wystarczy pobrać v2.2.1.
Dodatkowy zapas: większe bufory FastCGI
Jako drugie zabezpieczenie dołączony plik docker/nginx/default.conf daje teraz odpowiedziom PHP większe bufory nagłówków:
fastcgi_buffer_size 32k;
fastcgi_buffers 16 16k;
Nowe instalacje dostają ten zapas automatycznie. Istniejące instalacje zachowują swoją kopię tego pliku, dopóki jej nie podmienią. To bezpieczne, bo sam limit nagłówka już usuwa błąd 502.
💼 Korzyści i przypadki użycia
- Zakładki i udostępnione linki do szkiców otwierają się niezawodnie
- Odświeżenie edytora nie przerywa już pracy
- Istniejące instalacje nie wymagają zmian na serwerze
- Wydajność bez zmian dzięki tagom modulepreload
- Dodatkowa ochrona przed za dużymi nagłówkami w nowych instalacjach
E-commerce: poprawki w ostatniej chwili
Wyprzedaż startuje za godzinę, a musisz zmienić kod rabatowy w mailu o porzuconym koszyku albo w mailu promocyjnym. Otwierasz edytor z zakładki i ładuje się od razu:
- Szybko edytujesz sekwencje posprzedażowe bezpośrednio z zakładki
- Odświeżasz stronę po zmianie zasobów i widzisz efekt
- Nie tracisz czasu na niejasny błąd bramy w szczycie sprzedaży
SaaS: wspólny przegląd maili onboardingowych
Produkt, marketing i support często razem przeglądają maile onboardingowe i te zapobiegające rezygnacjom. Teraz możesz:
- Wkleić bezpośredni link
/messages/{id}/editna Slacka lub do zgłoszenia - Pozwolić recenzentom otworzyć go w nowej karcie bez obejść
- Szybciej zatwierdzać kampanie cyklu życia klienta
Agencje: wiele kampanii klientów naraz
Agencje często pracują na dziesiątkach otwartych kart z kontami różnych klientów. Z v2.2.1:
- Przywrócona sesja przeglądarki poprawnie otwiera karty edytora
- Linki do szkiców wysyłane klientom działają za pierwszym razem
- Mniej zgłoszeń typu „edytor nie działa”
🧭 Krok po kroku: aktualizacja do v2.2.1
-
Najpierw kopia zapasowa
Przed każdą aktualizacją zrób kopię bazy danych i plików konfiguracyjnych, które zmieniałeś, w tym konfiguracji nginx.
-
Pobierz nowy obraz
W katalogu z plikiem
docker-compose.ymlpobierz najnowszy obraz i odtwórz kontenery:docker compose pull docker compose up -d -
Przetestuj bezpośrednie wejście do edytora
Zaloguj się, otwórz istniejącą wiadomość i naciśnij F5 na
/messages/{id}/edit. Otwórz też/messages/createw nowej karcie. Obie strony powinny załadować się normalnie. -
Opcjonalnie: sprawdź nagłówki
Otwórz DevTools przeglądarki (zakładka Network), odśwież edytor i kliknij żądanie dokumentu. Nagłówek odpowiedzi
Linkpowinien zawierać najwyżej 8 zasobów. W panelu Elements nadal zobaczysz tagi<link rel="modulepreload">dla każdego chunka. -
Opcjonalnie: wprowadź nowe bufory nginx
Jeśli chcesz mieć dodatkowy zapas na istniejącej instalacji, porównaj swój
docker/nginx/default.confz wersją w repozytorium i dodaj dyrektywyfastcgi_buffer_sizeorazfastcgi_buffersdo bloku obsługującego PHP. Potem zrestartuj kontener nginx.
⚠️ Częsty błąd: Jeśli podmieniasz default.conf na nową wersję, najpierw przenieś własne zmiany (domeny, SSL, limity uploadu). Zwykle najbezpieczniej jest dopisać tylko dwie dyrektywy buforów.
ℹ️ Nadal widzisz 502? Jeśli przed NetSendo działa jeszcze inny reverse proxy (np. nginx na hoście), sprawdź jego log błędów pod kątem komunikatów typu „upstream sent too big header”. Ten proxy może mieć własne limity buforów.
🎯 Wskazówki eksperta
Gdy pojawia się 502, log błędów nginx zwykle wskazuje przyczynę. „Upstream sent too big header” oznacza problem z rozmiarem bufora, a nie awarię procesu PHP.
Po aktualizacji nie ograniczaj się do klikania po panelu. Odśwież też cięższe ekrany, np. edytor wiadomości. Nawigacja wewnątrz aplikacji może ukrywać problemy, które wychodzą dopiero przy pełnych żądaniach.
Ciasteczka wliczają się do rozmiaru nagłówków. Jeśli dodajesz własne ciasteczka lub skrypty śledzące w domenie panelu, niech będą małe. Zwiększają każdą odpowiedź, która je ustawia.
Przechowuj zmodyfikowane pliki nginx i Docker w repozytorium. Gdy domyślne ustawienia upstream się poprawią, tak jak tutaj, diff pokaże ci dokładnie, co scalić.
Przypnij obraz do konkretnego tagu wersji i aktualizuj świadomie. Wtedy sam decydujesz, kiedy poprawki takie jak v2.2.1 trafiają do użytkowników, i w razie potrzeby możesz wrócić do poprzedniej wersji.
✅ Podsumowanie
NetSendo v2.2.1 to małe, konkretne wydanie, które usuwa frustrujący problem: edytor wiadomości zwracał 502 Bad Gateway przy bezpośrednim otwarciu. Przyczyną był zbyt duży nagłówek Link, który przekraczał domyślny bufor FastCGI nginx (4 KB). Limit 8 zasobów usuwa problem bez spowalniania czegokolwiek, a nowe instalacje dostają dodatkowo większe bufory FastCGI.
Ponieważ sam hostujesz NetSendo, to ty jesteś właścicielem swoich danych i infrastruktury. Wydania takie jak to mają jasny opis zmian, więc dokładnie wiesz, co zmieniło się na twoich serwerach.
Gotowy na aktualizację?
Pobierz v2.2.1 i korzystaj z niezawodnego edytora już dziś:
Zobacz nasze integracje, a jeśli NetSendo pomaga twojemu biznesowi, daj nam gwiazdkę na GitHubie. Pełne informacje o wydaniu: v2.2.1 na GitHubie.




