Tailscale connects devices to a private network called a tailnet. Tailscale Serve can publish a local web service to devices in that tailnet and can provide HTTPS for the tailnet address. This is useful when users and administrators can install the Tailscale client on their devices.
Tailscale is an external service. The server and every device that should use a private service need a suitable Tailscale installation and account configuration.
The general setup is:
A typical command publishes a local HTTP service on port 8080:
tailscale serve --bg http://127.0.0.1:8080 tailscale serve status
The command syntax and available flags can change between Tailscale versions. Use the official Tailscale Serve documentation for the installed version.
Tailscale provides a tailnet address and can manage a certificate for its *.ts.net name. This certificate is for the Tailscale address. It does not issue a certificate for your own customer domain and it does not make the service public.
Tailscale Funnel publishes a service to the public Internet. It is a different access model from Serve:
Read the official Funnel documentation before enabling public access.
Tailscale Serve is a good fit for internal administration, support access and small user groups with managed devices. A DNS-01 certificate with split DNS is a better fit when users should use a normal customer domain without installing a client. A protected public tunnel is a better fit when anonymous or browser-only public access is required.