Firma produkcyjna z systemem Odoo na własnym serwerze chciała uruchomić płatności online w sklepie internetowym. Konto Stripe było założone, moduł zainstalowany, klucze wpisane, a mimo to płatności nie zmieniały statusu na „opłacone". Przyczyna nie leżała w Odoo, tylko w sieci: operator płatności nie mógł „dodzwonić się" do serwera stojącego za firmowym firewallem.
Dlaczego sklep potrzebuje ruchu z zewnątrz
Własny serwer daje pełną kontrolę nad danymi, wersją i modułami. Sklep internetowy wymaga jednak dwóch kierunków komunikacji:
- klient → sklep – kupujący musi otworzyć stronę, koszyk i panel klienta,
- operator płatności → Odoo – Stripe, PayU czy Przelewy24 po zakończonej transakcji wysyłają do Odoo powiadomienie (tzw. webhook). Bez niego zamówienie „wisi" jako oczekujące, choć pieniądze już wpłynęły.
Ten drugi kierunek najczęściej zaskakuje działy IT. Serwer może bez problemu łączyć się z internetem, ale nic z internetu nie może połączyć się z nim.
Jak to pogodzić z bezpieczeństwem
Nie trzeba wystawiać całego systemu ERP na świat. W praktyce stosujemy kilka sprawdzonych podejść, dobieranych do polityki bezpieczeństwa firmy:
- Reverse proxy w strefie DMZ – na zewnątrz widoczny jest tylko serwer pośredniczący (np. nginx), który przepuszcza ruch sklepu i powiadomień płatności. Panel administracyjny Odoo pozostaje dostępny wyłącznie z sieci firmowej lub przez VPN. Wymaga to starannej listy dozwolonych adresów, bo sklep korzysta z części tych samych ścieżek co panel.
- Tunel wychodzący – serwer sam zestawia szyfrowane połączenie do usługi pośredniczącej (np. Cloudflare Tunnel). Na firewallu nie otwiera się żadnego portu przychodzącego.
- Wąskie gardło dla powiadomień – adresy webhooków dostępne tylko z puli IP publikowanej przez operatora płatności. Dodatkowo każde powiadomienie jest podpisane kluczem, który Odoo weryfikuje.
Niezależnie od wariantu po stronie Odoo potrzebne są trzy rzeczy: ważny certyfikat HTTPS dla publicznej domeny, włączony tryb proxy w konfiguracji serwera oraz poprawny, zablokowany adres bazowy systemu. Bez tego Odoo generuje linki z adresem wewnętrznym i klient po płatności trafia na stronę, która nie istnieje.
Na koniec
Firewall i sklep internetowy nie wykluczają się. Trzeba jedynie świadomie zdecydować, co i komu udostępnić. To decyzja na styku ERP i infrastruktury, dlatego najlepiej sprawdza się wspólna praca konsultanta Odoo z działem IT firmy. Znamy tę ścieżkę z naszych wdrożeń i chętnie przejdziemy ją razem z Waszymi administratorami.