Przewodnik po konfiguracji usługi odwrotnego proxy frp w ServBay
frp (Fast Reverse Proxy) to wydajna aplikacja typu reverse proxy, która umożliwia bezpieczne udostępnianie usług sieciowych uruchomionych lokalnie do Internetu. ServBay posiada wbudowany klient frp (frpc), który pozwala na połączenie z własnym serwerem frps, umożliwiając dostęp do hostowanych lokalnie stron www przez dowolną wybraną domenę. Dzięki temu masz pełną kontrolę nad serwerem tunelującym.
Ten poradnik szczegółowo opisuje, jak skonfigurować klienta frp w ServBay i połączyć go z Twoim serwerem frps.
Przegląd
W przeciwieństwie do innych usług tunelowych dostępnych w ServBay, korzystanie z frp wymaga samodzielnej instalacji i konfiguracji serwera frps na własnym serwerze. ServBay działa wyłącznie jako klient frpc, przekazując ruch z lokalnej strony www przez serwer frps do Internetu. To rozwiązanie jest polecane deweloperom, którzy oczekują większej elastyczności i pełnej kontroli nad połączeniem tunelowym.
Przykłady zastosowania
- Pełna kontrola nad serwerem tunelującym: Masz możliwość kompleksowego zarządzania konfiguracją, bezpieczeństwem i wydajnością serwera frps.
- Własna domena i SSL: Elastycznie przypiszesz do swojego projektu dowolną posiadaną domenę i zintegrujesz certyfikat SSL uzyskany i zarządzany przez ServBay (certyfikaty ACME SSL).
- Zaawansowana konfiguracja sieci: frp obsługuje różnorodne typy połączeń proxy i zaawansowane ustawienia, spełniając nawet bardzo wymagające scenariusze.
- Wdrożenie prywatne: Idealne dla tych, którzy nie chcą korzystać z usług tunelowych firm trzecich.
Wymagania wstępne
- Zainstalowany ServBay: Upewnij się, że ServBay działa poprawnie na Twoim systemie macOS.
- Własny serwer
frps
:- Musisz posiadać publicznie dostępny serwer z poprawnie zainstalowanym i działającym serwerem
frps
. - Zanotuj publiczny adres IP lub domenę serwera
frps
. - Spisz port (
bindPort
), na którymfrps
komunikuje się z klientami, oraztoken
(hasło do autoryzacji) z pliku konfiguracyjnego serwera (frps.toml
lubfrps.ini
).
- Musisz posiadać publicznie dostępny serwer z poprawnie zainstalowanym i działającym serwerem
- Domena i konfiguracja DNS:
- Potrzebujesz publicznej domeny (np.
your-frp-server.com
) oraz rekordu DNS typu A, kierującego na Twój serwerfrps
. Od teraz przez tę domenę uzyskasz dostęp do lokalnej strony.
- Potrzebujesz publicznej domeny (np.
- Certyfikat ACME SSL w ServBay:
- Aby korzystać z HTTPS dla swojej domeny, musisz wcześniej skonfigurować certyfikat SSL ACME dla tej domeny w sekcji SSL Certificates ServBay. Przykład: jeśli planujesz korzystać z
project.your-frp-server.com
, to dla tej domeny pobierz certyfikat ACME.
- Aby korzystać z HTTPS dla swojej domeny, musisz wcześniej skonfigurować certyfikat SSL ACME dla tej domeny w sekcji SSL Certificates ServBay. Przykład: jeśli planujesz korzystać z
- Obsługa wielu subdomen i certyfikatów SSL:
- Jeśli zależy Ci na obsłudze wielu subdomen bez definiowania wielu rekordów DNS A, możesz użyć rekordu wildcard (np.
*.your-frp-server.com
skierowanego na IP serwerafrps
). W ServBay zamów wtedy certyfikat ACME obsługujący wildcard (wpisz:your-frp-server.com, *.your-frp-server.com
— pamiętaj, by wildcard był na końcu i rozdziel wejścia przecinkiem). Następnie możesz w ServBay dodawać dowolne subdomeny bezPOtrzeby osobnej konfiguracji każdej z nich — jedna domena i jeden certyfikat będzie obsługiwać wszystkie. - To rozwiązanie pozwala łatwo udostępnić w ServBay dowolne subdomeny jak
company-project.your-frp-server.com
,personal.your-frp-server.com
czycustomer-1.your-frp-server.com
— bez każdorazowej żmudnej konfiguracji DNS i z jednym, wspólnym certyfikatem SSL.
- Jeśli zależy Ci na obsłudze wielu subdomen bez definiowania wielu rekordów DNS A, możesz użyć rekordu wildcard (np.
Kroki konfiguracji
1. Instalacja pakietu frp w ServBay
- Otwórz aplikację ServBay.
- Wybierz z lewego menu sekcję Pakiety (Packages).
- Wyszukaj na liście pakietów
frp
. - Kliknij przycisk instalacji obok
frp
. - Po instalacji — przed konfiguracją — próba uruchomienia frp może zakończyć się błędem. Jest to normalne, dopóki nie ustawisz parametrów.
2. Przygotowanie konfiguracji serwera frps
Samodzielnie zainstaluj i uruchom frps
na swoim publicznym serwerze. ServBay może wygenerować szablon bazowego pliku konfiguracyjnego frps.toml
(dla nowszych wersji frp), żeby ułatwić rozpoczęcie:
W ServBay przejdź do Tunel -> frp.
Znajdź opcję frp server config (frps.toml) oraz kliknij odpowiednią ikonę rozwinięcia.
ServBay wyświetli przykładową konfigurację
frps.toml
, taką jak poniżej:toml# The frps configuration file automatically generated by ServBay # is intended for direct use on the server. # Please adjust the configuration parameters according # to your specific needs. bindPort = 12345 auth.method = "token" auth.token = "myserverpassword" vhostHTTPPort = 80 vhostHTTPSPort = 443 log.to = "/tmp/frps.log" log.level = "info" log.maxDays = 3 log.disablePrintColor = true # Dla nowych wersji frps (np. 0.52.0+), użyj webServer.port, webServer.addr, webServer.user, webServer.password aby ustawić Dashboard # webServer.port = 7500 # webServer.addr = "0.0.0.0" # webServer.user = "admin" # webServer.password = "admin_password"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21Opis najważniejszych ustawień:
bindPort
: Port do komunikacji frpc z frps. Port ten musi być otwarty na firewallu Twojego serwera. Zalecamy szczególną ochronę tego portu na serwerze frps (np. poprzez ograniczenie dostępności firewall’em tylko dla zaufanych adresów IP).auth.method = "token"
orazauth.token
: Uwierzytelnianie klienta. Ustaw silne, prywatne hasło.vhostHTTPPort = 80
orazvhostHTTPSPort = 443
: Porty, na których frps odbiera żądania HTTP i HTTPS dla wirtualnych hostów.- [Ważne] ServBay jest zoptymalizowany pod scenariusz, w którym serwer frps korzysta bezpośrednio z portów 80 i 443 jako
vhostHTTPPort
ivhostHTTPSPort
. Pozwala to na bezproblemowe przesyłanie certyfikatów SSL ACME z ServBay do frps, z których korzystają połączenia klientów. - Jeśli z jakichś powodów serwer frps nie może wykorzystać portów 80/443 (np. są zajęte przez inne serwisy), i musi korzystać np. z 8080/8443, to musisz wdrożyć na froncie dodatkowy reverse proxy (np. Nginx lub Caddy). Takie proxy odbierze ruch na 80/443 i przekaże do portów frps. W tej sytuacji certyfikat SSL musi być obsługiwany przez proxy, a nie ServBay.
- [Ważne] ServBay jest zoptymalizowany pod scenariusz, w którym serwer frps korzysta bezpośrednio z portów 80 i 443 jako
log.to
: Ścieżka do pliku logów frps.- Konfiguracja Dashboarda (
webServer.port
itd.): Opcjonalne, jeśli chcesz zarządzać frps przez panel webowy.
Skopiuj tę wygenerowaną konfigurację na serwer (nazwij ją
frps.toml
lubfrps.ini
, w zależności od wersji frp) i dostosuj ustawienia według własnych potrzeb.Uruchom usługę
frps
na serwerze.
3. Konfiguracja klienta frp w ServBay
Wróć do aplikacji ServBay i wypełnij parametry połączenia klienta frp:
Wejdź do Tunel -> frp.
Uzupełnij dane serwera frps:
- Adres serwera (Server Address): Podaj publiczny adres domenowy lub IP Twojego serwera
frps
(np.my.test.frp.server.host
). - Port serwera (Server Port): Wpisz port
bindPort
z plikufrps.toml
(np.12345
). - Token autoryzacji (Auth Token): Wprowadź token (
auth.token
) z Twojegofrps.toml
(np.myserverpassword
).
- Adres serwera (Server Address): Podaj publiczny adres domenowy lub IP Twojego serwera
Konfiguracja reguł tunelowania:
- Lokalna domena (Local Domain): Z rozwijanej listy wybierz lokalną stronę ServBay, którą chcesz wystawić przez frp (np.
servbay.demo
). - Zewnętrzna domena (External Domain): Wpisz domenę, przez którą użytkownicy będą korzystać z lokalnej strony (np.
test.ks.do
). Domena ta musi mieć rekord DNS A wskazujący IP serwera frps.- Ważne: W przeciwieństwie do innych tuneli w ServBay (np.
Ngrok
,Cloudflared
), tu wpisujesz pełną nazwę domeny.
- Ważne: W przeciwieństwie do innych tuneli w ServBay (np.
- Certyfikat ACME (ACME Certificates): Z rozwijanej listy wybierz certyfikat ACME, który został pobrany w ServBay dla wspomnianej zewnętrznej domeny (np. certyfikat dla
test.ks.do
).- Ważne: Jeśli chcesz uzyskać dostęp przez HTTPS, musisz wybrać właściwy certyfikat. ServBay przekaże ten certyfikat do frpc, a po nawiązaniu połączenia serwer frps wykorzysta go do obsługi żądań HTTPS na tej domenie. Dzięki temu nie musisz osobno instalować lub konfigurować certyfikatu SSL po stronie serwera frps.
- Lokalna domena (Local Domain): Z rozwijanej listy wybierz lokalną stronę ServBay, którą chcesz wystawić przez frp (np.
Dodawanie kolejnych tuneli:
- Jeśli chcesz wystawić przez frp kilka lokalnych stron lub obsługiwać więcej domen zewnętrznych, kliknij
+
po prawej stronie bieżącego wpisu, aby dodać kolejną regułę.
- Jeśli chcesz wystawić przez frp kilka lokalnych stron lub obsługiwać więcej domen zewnętrznych, kliknij
4. Zapisz konfigurację i uruchom usługę frp
- Po zakończeniu konfiguracji kliknij przycisk Zapisz (Save) w prawym dolnym rogu.
- ServBay zapisze konfigurację frpc i spróbuje uruchomić usługę frp.
- Obserwuj wskaźnik statusu obok wpisu
frp
na liście tuneli. Jeśli wszystko poprawnie skonfigurowane, a połączenie frpc z frps nawiązane, wskaźnik zmieni się na zielony — oznacza to, że usługa działa poprawnie. - Test połączenia:
- Teraz możesz otworzyć przeglądarkę i przejść pod wybraną zewnętrzną domenę (np.
https://test.ks.do
), aby sprawdzić, czy widzisz swoją stronę lokalną przez Internet. - W razie potrzeby użyj przycisku kopiowania lub otwarcia domeny obok wpisu w ServBay.
- Teraz możesz otworzyć przeglądarkę i przejść pod wybraną zewnętrzną domenę (np.
Uwagi
- Instalacja i utrzymanie serwera
frps
: Pełna odpowiedzialność za instalację, aktualizacje, konfigurację i zabezpieczenie serwerafrps
spoczywa na Tobie. - Bezpieczeństwo portu
bindPort
w frps: Stosuj silny token autoryzacji i rozważ ograniczenie dostępu do portu przez firewall — np. tylko dla określonych IP lub zakresów adresów IP. - Wybór portów
vhostHTTPPort
ivhostHTTPSPort
:- Zdecydowanie zaleca się, aby frps nasłuchiwał bezpośrednio na portach 80 i 443 — pozwala to maksymalnie uprościć przekazanie certyfikatu ACME i HTTPS z ServBay.
- Jeśli porty frps są inne (np. 8080/8443), musisz pamiętać o konieczności uruchomienia dodatkowego reverse proxy (Nginx, Caddy) na froncie. Takie proxy przejmie obsługę certyfikatu SSL i przekieruje ruch do właściwych portów frps.
- Wymóg posiadania certyfikatu ACME: Jeśli chcesz korzystać z HTTPS na wybranej domenie, musisz uzyskać go przez ServBay i poprawnie wybrać w konfiguracji tunelu.
- Propagacja DNS: Upewnij się, że rekord DNS A dla danej domeny wskazuje na adres IP serwera frps i że rekord już się poprawnie rozpropagował w sieci globalnej.
FAQ — Najczęściej zadawane pytania
- P: Uruchomienie frp w ServBay kończy się błędem, a wskaźnik statusu jest czerwony lub pomarańczowy. Co robić?
- O: Sprawdź konfigurację frp w ServBay: czy
Server Address
,Server Port
iAuth Token
zgadzają się z parametramibindPort
iauth.token
w Twoimfrps.toml
. Zweryfikuj, czy usługa frps jest uruchomiona oraz czy portbindPort
jest dostępny z maszyny z ServBay (sprawdź zaporę). Przejrzyj logi frp, aby poznać szczegóły błędu.
- O: Sprawdź konfigurację frp w ServBay: czy
- P: Strona przez zewnętrzną domenę otwiera się tylko przez HTTP, nie HTTPS?
- O: Sprawdź, czy w konfiguracji frp w ServBay wybrano odpowiedni certyfikat ACME dla danej domeny. Upewnij się, że w pliku
frps.toml
wartośćvhostHTTPSPort
jest ustawiona na port, na którym frps faktycznie nasłuchuje żądań HTTPS (najlepiej 443).
- O: Sprawdź, czy w konfiguracji frp w ServBay wybrano odpowiedni certyfikat ACME dla danej domeny. Upewnij się, że w pliku
- P: Mój serwer frps musi korzystać z niestandardowych portów dla
vhost
— jak ustawić SSL?- O: Musisz zainstalować reverse proxy (Nginx lub Caddy) na tym samym serwerze. Proxy obsłuży żądania na portach 80/443 i obsłuży certyfikaty SSL (mogą być inne niż zarządzane przez ServBay). Następnie wystarczy, że przekierujesz ruch do właściwych portów frps. W tej sytuacji ustawienie pola "ACME Certificates" w konfiguracji tunelu ServBay może nie wpływać na certyfikat wykorzystywany publicznie — decyduje tutaj konfiguracja reverse proxy.
- P: ServBay generuje plik
frps.toml
, ale posiadam starszyfrps.ini
— różnią się?- O: Pliki konfiguracyjne frp z czasem przeszły transformację z formatu
.ini
do.toml
. ServBay generuje plik w nowoczesnym formacie.toml
. Jeśli używasz starszej wersji frps lub wolisz.ini
, skorzystaj z dokumentacji frp do konwersji — kluczowe parametry pozostają bez zmian.
- O: Pliki konfiguracyjne frp z czasem przeszły transformację z formatu
Podsumowanie
ServBay zintegrował klienta frp, oferując profesjonalnym użytkownikom macOS zaawansowane, elastyczne narzędzie do udostępniania lokalnych stron WWW do Internetu na własnych zasadach. Poprzez samodzielne wdrożenie serwera frps i łatwą konfigurację frpc oraz integrację z certyfikatami ACME w ServBay — możesz bezpiecznie i wygodnie prezentować lokalne projekty przez publiczne domeny. Koniecznie zadbaj o precyzyjną konfigurację portów i bezpieczeństwa po obu stronach tunelu (frps i frpc), aby zapewnić stabilność i poufność swojej usługi.