Skip to content
Anim Mouse edited this page Dec 15, 2023 · 5 revisions

Disable dashboard

  1. Disable the dashboard by commenting or removing these lines in frps.toml
# frp dashboard
#webServer.addr = "::"
#webServer.port = 8080
#webServer.user = "admin"
#webServer.password = "{{ .Envs.FRP_DASHBOARD_PWD }}"
  1. Remove dashboard environment variables. fly secrets set -a app-name FRP_DASHBOARD_PWD=

TLS termination at fly.io

If you want fly.io to handle TLS and certificates for you.

  1. Add these lines in frps.toml below proxyBindAddr = "0.0.0.0"
vhostHTTPPort = 8080

TLS passthrough

If you want your server to handle TLS and certificates so that the connection is end-to-end encrypted and you manage the certificates at your server. Take note that you will lose fly.io's HTTP level load balancing and instead use TCP level load balancing.

  1. Comment or remove these lines in fly.toml
# frp HTTP server (for dashboard or HTTP tunnel)
#[http_service]
#  internal_port = 8080
#  force_https = true
#  [http_service.concurrency]
#    type = "requests"
#    hard_limit = 25
#    soft_limit = 20
  1. Add these lines in fly.toml below # frp data plane
# frp HTTP tunnel
[[services]]
  protocol = "tcp"
  internal_port = 8080

  [[services.ports]]
    port = 80
  [services.concurrency]
    type = "connections"
    hard_limit = 25
    soft_limit = 20

# frp HTTPS tunnel
[[services]]
  protocol = "tcp"
  internal_port = 8081

  [[services.ports]]
    port = 443
  [services.concurrency]
    type = "connections"
    hard_limit = 25
    soft_limit = 20
  1. Add these lines in frps.toml below proxyBindAddr = "0.0.0.0"
vhostHTTPPort = 8080
vhostHTTPSPort = 8081