Guia de Configuração do Serviço de Proxy Reverso frp no ServBay
O frp (Fast Reverse Proxy) é uma aplicação de proxy reverso de alto desempenho que permite expor com segurança serviços de rede locais na internet. O ServBay integra o cliente frp (frpc), permitindo que você se conecte ao seu próprio servidor frp (frps) e acesse os sites hospedados localmente no ServBay por um domínio personalizado. Essa abordagem oferece controle total sobre o servidor de túnel.
Este guia mostrará detalhadamente como configurar o cliente frp no ServBay e conectar ao seu servidor frps.
Visão Geral
Diferente de outros serviços de túnel hospedados no ServBay, ao utilizar o frp, você precisa implantar e configurar previamente o servidor frps em sua própria infraestrutura. O ServBay atua como cliente (frpc), encaminhando o tráfego do site local para a internet através do servidor frps. Esse modo é ideal para desenvolvedores que precisam de personalização e controle avançados sobre o túnel.
Cenários de Uso
- Controle total do servidor de túnel: Você gerencia completamente a configuração, segurança e desempenho do servidor frps.
- Uso de domínios personalizados e SSL: Configure facilmente qualquer domínio próprio para seus projetos locais e integre certificados ACME SSL gerenciados pelo ServBay (veja como emitir certificados ACME).
- Configuração avançada de rede: O frp suporta vários tipos de proxy e configurações avançadas para demandas complexas.
- Implantação privada: Ideal para quem não deseja depender de serviços de túnel de terceiros.
Pré-requisitos
- ServBay instalado: Confirme que o ServBay está instalado e operando no macOS.
- Servidor
frps
auto-hospedado:- Possua um servidor acessível publicamente e já executando o serviço
frps
. - Guarde o IP público ou domínio do servidor frps.
- Anote as configurações definidas no arquivo de configuração do frps (
frps.toml
oufrps.ini
), especialmentebindPort
(porta de comunicação entre cliente e servidor frp) etoken
(chave de autenticação).
- Possua um servidor acessível publicamente e já executando o serviço
- Domínio e configuração DNS:
- Tenha um domínio público (por exemplo,
seu-servidor-frp.com
) e configure um registro DNS do tipo A apontando para o IP público do servidor frps. É através deste domínio que o site local será acessado.
- Tenha um domínio público (por exemplo,
- Certificado ACME SSL no ServBay:
- Para acessar seu domínio externo via HTTPS, obtenha previamente um certificado ACME SSL para este domínio na seção Certificados SSL do ServBay. Por exemplo, para usar
projeto.seu-servidor-frp.com
como endereço externo, solicite o certificado paraprojeto.seu-servidor-frp.com
.
- Para acessar seu domínio externo via HTTPS, obtenha previamente um certificado ACME SSL para este domínio na seção Certificados SSL do ServBay. Por exemplo, para usar
- Vários subdomínios e certificados SSL:
- Se for usar múltiplos subdomínios e não quiser criar vários registros DNS do tipo A, pode usar wildcard (
*
): adicione um registro A para*.seu-servidor-frp.com
apontando para o IP do servidor frps. Solicite um certificado ACME wildcard no ServBay (no campoDomínio
, ao solicitar, insiraseu-servidor-frp.com, *.seu-servidor-frp.com
— garanta que o*
está por último, usando vírgula para separar). Assim, poderá criar diversos subdomínios no ServBay sem precisar configurar vários registros DNS e compartilhar o mesmo certificado SSL. - Desta forma, com o ServBay você pode expor sites como
empresa-projeto.seu-servidor-frp.com
,pessoal.seu-servidor-frp.com
oucliente-1.seu-servidor-frp.com
facilmente, sem precisar de muitas configurações extras.
- Se for usar múltiplos subdomínios e não quiser criar vários registros DNS do tipo A, pode usar wildcard (
Passo a Passo
1. Instale o pacote frp no ServBay
- Abra o aplicativo ServBay.
- No menu à esquerda, clique em Pacotes (Packages).
- Na lista de pacotes, localize
frp
. - Clique no botão de instalação ao lado de
frp
. - Após instalar, ao tentar iniciar o serviço frp pode ocorrer uma falha enquanto a configuração não estiver feita, isso é esperado.
2. Prepare seu servidor frps
e a configuração
Você deve instalar e executar o frps
em seu servidor público. O ServBay pode gerar um modelo básico de frps.toml
(adequado para versões recentes do frp) para facilitar o início:
No ServBay, vá em Tunnel -> frp.
Localize e clique no ícone de dropdown ou expandir ao lado de frp server config (frps.toml).
O ServBay mostrará um exemplo de configuração
frps.toml
, semelhante a:toml# O arquivo de configuração do frps gerado automaticamente pelo ServBay # destina-se ao uso direto no servidor. # Ajuste os parâmetros de acordo # com suas necessidades. 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 # Para versões recentes do frps (ex: 0.52.0+), use webServer.port, webServer.addr, webServer.user, webServer.password para configurar o 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
21Explicação das configurações principais:
bindPort
: Porta de comunicação entre frpc e frps. Certifique-se de que está aberta no firewall do servidor. É altamente recomendado proteger esta porta, por exemplo, limitando o acesso ao IP de origem via firewall.auth.method = "token"
eauth.token
: Autenticação do cliente. Troque por uma senha forte personalizada.vhostHTTPPort = 80
evhostHTTPSPort = 443
: Portas onde o frps irá escutar por hosts virtuais HTTP e HTTPS.- [Importante] O ServBay está otimizado para cenários onde o frps utiliza diretamente as portas 80 e 443 para
vhostHTTPPort
evhostHTTPSPort
. Isso permite que o certificado ACME SSL obtido localmente seja transparente para o frps, facilitando o uso em conexões externas. - Caso seu servidor frps não possa usar diretamente as portas 80/443 (por estarem ocupadas por outros serviços), será obrigatório implantar um proxy reverso adicional (como Nginx ou Caddy) na frente do frps. Esse proxy escutará nas portas 80 e 443 públicas e encaminhará o tráfego para as portas reais
vhostHTTPPort
/vhostHTTPSPort
do frps. O gerenciamento do certificado SSL, neste caso, será feito pelo proxy, não pelo ServBay.
- [Importante] O ServBay está otimizado para cenários onde o frps utiliza diretamente as portas 80 e 443 para
log.to
: Caminho do log do frps.- Configuração do Dashboard (como
webServer.port
, etc): Opcional; permite o gerenciamento do frps por interface web.
Copie esta configuração para seu servidor frps, salve como
frps.toml
(oufrps.ini
de acordo com sua versão e preferência) e ajuste os parâmetros conforme necessário.Inicie o serviço frps.
3. Configure o cliente frp no ServBay
No ServBay, defina os parâmetros de conexão do cliente frp:
Navegue para Tunnel -> frp.
Preencha os dados do servidor frps:
- Endereço do Servidor (Server Address): Digite o domínio público ou IP do servidor frps (exemplo:
meu.servidor.frp.host
). - Porta do Servidor (Server Port): Digite a porta
bindPort
de seufrps.toml
(exemplo:12345
). - Token de Autorização (Auth Token): Digite o
auth.token
de seufrps.toml
(exemplo:myserverpassword
).
- Endereço do Servidor (Server Address): Digite o domínio público ou IP do servidor frps (exemplo:
Configure as regras de túnel:
- Domínio Local (Local Domain): Selecione no menu suspenso o site local do ServBay que deseja expor (ex:
servbay.demo
). - Domínio Externo (External Domain): Insira o domínio que os usuários externos utilizarão para acessar o site local (ex:
test.ks.do
). O registro DNS A desse domínio já deve apontar para o IP do seu servidor frps.- Importante: Diferente de outras configurações de túnel oferecidas pelo ServBay (como
Ngrok
,Cloudflared
), aqui você deve informar o domínio completo.
- Importante: Diferente de outras configurações de túnel oferecidas pelo ServBay (como
- Certificados ACME (ACME Certificates): Selecione no menu suspenso o certificado ACME SSL apropriado (exemplo: selecione o certificado correspondente a
test.ks.do
).- Relevante: Para acessar por HTTPS, é obrigatório escolher o certificado correto. O ServBay encaminha o certificado ao frpc, que informará ao frps, permitindo responder às requisições HTTPS do domínio externo com o certificado apropriado. Assim, você não precisa configurar manualmente o SSL no frps para esse domínio.
- Domínio Local (Local Domain): Selecione no menu suspenso o site local do ServBay que deseja expor (ex:
Adicionar novos túneis:
- Se precisar criar túneis para múltiplos sites ou domínios externos, clique no botão
+
à direita do túnel já existente.
- Se precisar criar túneis para múltiplos sites ou domínios externos, clique no botão
4. Salve a configuração e inicie o serviço frp
- Após configurar tudo, clique em Salvar (Save) no canto inferior direito.
- O ServBay armazenará a configuração do frpc e tentará iniciar o serviço frp.
- Observe o indicador de status ao lado do item
frp
na lista Tunnel. Se tudo estiver correto e o frpc conectar ao frps com sucesso, a luz ficará verde, indicando serviço em execução. - Teste o acesso:
- Agora você poderá acessar o site local de qualquer lugar usando o
External Domain
definido (exemplo:https://test.ks.do
). - Use o ícone de copiar ou o ícone de navegador ao lado do domínio externo para realizar testes rápidos.
- Agora você poderá acessar o site local de qualquer lugar usando o
Observações
- Gerenciamento do servidor
frps
: A instalação, configuração, segurança e manutenção dofrps
são de sua total responsabilidade. - Segurança da porta
bindPort
do frps: Sempre use umauth.token
forte e avalie limitar o acesso à porta pelo firewall, permitindo apenas IPs específicos. - Escolha das portas
vhostHTTPPort
evhostHTTPSPort
:- Priorize o uso das portas 80 e 443 direto no frps para aproveitar a integração transparente de SSL do ServBay.
- Caso utilize portas diferentes (exemplo: 8080/8443), configure obrigatoriamente um proxy reverso (Nginx, Caddy) em frente ao frps para escutar publicamente nas portas 80/443 e encaminhar internamente para o frps. Nessa situação, o proxy será responsável pelo SSL.
- Certificado ACME é indispensável: Para acessar via HTTPS, solicite o ACME no ServBay e selecione corretamente na configuração do frp.
- Propagação de DNS: Certifique-se de que o registro DNS A do domínio externo aponte corretamente para o IP do servidor frps e que tal configuração já esteja propagada e ativa globalmente.
Perguntas Frequentes (FAQ)
- Q: O serviço frp do ServBay não inicia, o indicador está vermelho ou laranja. O que fazer?
- A: Verifique se
Server Address
,Server Port
eAuth Token
do frp no ServBay estão exatamente iguais aos de seufrps.toml
. Confira se o frps está rodando e se a porta está acessível do seu Mac (verifique firewalls). Consulte os logs do frp para detalhes do erro.
- A: Verifique se
- Q: Consigo acessar pelo
External Domain
, mas só funciona em HTTP, não HTTPS!- A: Garanta que no ServBay, na configuração do frp, o certificado ACME correto está selecionado para o domínio externo. Confirme, também, que no
frps.toml
ovhostHTTPSPort
está configurado para a porta correta (recomendado: 443).
- A: Garanta que no ServBay, na configuração do frp, o certificado ACME correto está selecionado para o domínio externo. Confirme, também, que no
- Q: Preciso usar portas diferentes de 80/443, como configuro SSL?
- A: Neste caso, configure um proxy reverso (Nginx, Caddy) no servidor frps, escutando nas portas 80/443 e gerenciando os certificados SSL (independente do ServBay). O proxy encaminha o tráfego decifrado (ou criptografado, conforme a configuração) para a porta real
vhostHTTPSPort
do frps. O campoACME Certificates
do frp no ServBay não será responsável pelo SSL neste cenário; o proxy do servidor frps gerenciará isso.
- A: Neste caso, configure um proxy reverso (Nginx, Caddy) no servidor frps, escutando nas portas 80/443 e gerenciando os certificados SSL (independente do ServBay). O proxy encaminha o tráfego decifrado (ou criptografado, conforme a configuração) para a porta real
- Q: O modelo
frps.toml
gerado pelo ServBay é diferente do meu atualfrps.ini
?- A: O formato de configuração do frp está migrando do
.ini
ao.toml
. O ServBay fornece modelos em.toml
. Se você usar uma versão antiga ou preferir.ini
, consulte a documentação oficial do frp para adaptar. Os parâmetros principais mantêm o mesmo significado.
- A: O formato de configuração do frp está migrando do
Resumo
Com o cliente frp integrado ao ServBay, desenvolvedores macOS agora têm à disposição uma solução potente e personalizável de tunelamento local. Ao hospedar seu próprio servidor frps
e contar com a interface prática do ServBay para configurar o frpc
e gerenciar certificados ACME SSL, você expõe seu ambiente de desenvolvimento local de forma segura e flexível na internet. Preste muita atenção às configurações — principalmente de portas e segurança — para garantir serviço seguro e estável.