Publish a local HTTP service through Cloudflare Tunnel while keeping inbound server ports closed.
The short answer: make the access decision before choosing the tool. Public services should be deliberate, private services should stay private, and protected-public services need a real identity or authentication layer.
Confirm the local app works
Confirm the local app works matters because secure Linux operations are mostly about making the intended access pattern explicit. Start with the smallest safe exposure, document who needs access, and only then choose tools or commands.
For TheLinuxForum’s Secure Remote Access cluster, the practical test is simple: can a small operator explain what is public, what is private, and how each service is protected? If not, the setup is not ready to scale.
Create the tunnel and hostname
Create the tunnel and hostname matters because secure Linux operations are mostly about making the intended access pattern explicit. Start with the smallest safe exposure, document who needs access, and only then choose tools or commands.
For TheLinuxForum’s Secure Remote Access cluster, the practical test is simple: can a small operator explain what is public, what is private, and how each service is protected? If not, the setup is not ready to scale.
Run cloudflared as a service
Run cloudflared as a service matters because secure Linux operations are mostly about making the intended access pattern explicit. Start with the smallest safe exposure, document who needs access, and only then choose tools or commands.
For TheLinuxForum’s Secure Remote Access cluster, the practical test is simple: can a small operator explain what is public, what is private, and how each service is protected? If not, the setup is not ready to scale.
Verify public access and origin lock-down
Verify public access and origin lock-down matters because secure Linux operations are mostly about making the intended access pattern explicit. Start with the smallest safe exposure, document who needs access, and only then choose tools or commands.
For TheLinuxForum’s Secure Remote Access cluster, the practical test is simple: can a small operator explain what is public, what is private, and how each service is protected? If not, the setup is not ready to scale.
Commands to run on your own server
Use these read-only checks to understand the server before changing access rules. Review the output carefully and redact hostnames, IPs, and usernames before sharing it publicly.
hostnamectl
ss -ltnp
systemctl --failed --no-pager
Practical checklist
- Identify who needs access.
- Decide whether the service is public, private, or protected-public.
- Prefer private access for administration.
- Document the owner, hostname, port, authentication method, and review date.
- Re-check exposure after every deployment or firewall change.
Internal links
Before you apply this
Run the checks in a second terminal session where possible, keep your current SSH session open, and make one change at a time. If the server is business-critical, test the pattern on a non-production VPS first and document the rollback path.
Bottom line
How to Publish a Local Web App with Cloudflare Tunnel on Ubuntu is part of the Secure Remote Access cluster because it helps small teams avoid accidental exposure. The goal is not more tools; the goal is a server access pattern that is understandable, reviewable, and safer by default.