Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A PageKite front end is a public Debian server that accepts authenticated tunnels from PageKite backends and relays requests for their kite domains. To run one, install PageKite, create a front-end configuration in /etc/pagekite.d/20_frontend.rc, point DNS and TCP ports 80/443 at the host, coordinate TLS and shared secrets with each backend, then restart and test the daemon.

What a PageKite front end does

PageKite separates the service that runs on your private network from the Internet-facing relay. A backend opens an outbound tunnel to the front end. The front end accepts that authenticated tunnel, receives requests for the registered kite domain, and forwards them through the tunnel to the backend service. This arrangement can publish a service even when the backend is behind NAT or an inbound firewall.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You need a self-hosted front end only when you control a publicly reachable Internet server and want your own relay domain, certificates, and operating policy. PageKite’s documentation describes this as an alternative to, or an addition to, the commercial pagekite.net service. If you do not need control of the relay, using that hosted service avoids maintaining a public relay server.

Prerequisites and design decisions

  • A public Debian host: The host must have a stable, publicly reachable address and enough CPU, memory, storage, and network capacity for your traffic. The official documentation does not publish a universal connection or throughput limit; capacity depends on the host, network path, protocol mix, and configuration.
  • A relay DNS name: Choose the hostname that backends and clients will use, and create DNS records that resolve it to the Debian host. The certificate names and PageKite settings must use the same hostname.
  • Firewall access: Permit TCP 80 and 443 on both the host firewall and any upstream security group or firewall. If another service already owns those ports, plan a separate address or use PageKite’s host= setting to bind it to a specific local address.
  • A naming and secret scheme: The domain= setting contains the wildcard domain accepted by the front end and a shared secret used to authenticate registrations. Use a long, unique secret for each domain or trust boundary and store it as a credential.
  • TLS material: Obtain a certificate and private key for the relay name if you will terminate TLS at the front end. You will also need a CA bundle that the backend can use to verify the front-end certificate.

Decide whether the front end will also proxy a service running on the same Debian host. If it will, add a local service_on mapping. If the backends are on other machines, configure those backends to connect to this relay and omit a local mapping unless the front end itself hosts a service.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Install PageKite on Debian

Install the Debian package

The current official download instructions use Debian’s package manager:

sudo apt install pagekite

Debian also provides PageKite’s system-daemon integration and the /etc/pagekite.d/ configuration directory. PageKite distributes its own packages and pagekite.py as well; the official download page cautions that distribution packages can be a few releases behind. Choose one packaging route for the host and document which version you installed so upgrades remain predictable.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Understand the system configuration order

The packaged daemon reads files matching /etc/pagekite.d/*.rc in lexicographic order. A practical convention is to keep account or common settings in a low-numbered file, the relay definition in 20_frontend.rc, and local service mappings in a later file such as 80_backend.rc. Because later files are read later, avoid defining the same option in multiple files unless you deliberately want the later value to take effect.

If you already have a working per-user PageKite configuration, the package guide describes copying it into a file such as /etc/pagekite.d/10_account.rc, then restarting the service. Review every copied credential before making it readable by the system daemon.

Configure the public front end

Create 20_frontend.rc

Create or edit /etc/pagekite.d/20_frontend.rc with the core relay settings:

isfrontend
ports=80,443
protos=http,https
domain=http,https:*.your.domain:MakeUpAPasswordHere

Replace your.domain with the domain under which your kites will be registered, and replace MakeUpAPasswordHere with a strong secret. The four settings have distinct jobs:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
  • isfrontend switches the process into front-end mode instead of ordinary backend-only mode.
  • ports=80,443 tells PageKite which listener ports to open for the relay.
  • protos=http,https limits the accepted protocols to HTTP and HTTPS in this example.
  • domain=http,https:*.your.domain:MakeUpAPasswordHere declares the protocols, wildcard domain, and registration secret accepted for that domain.

The wildcard is a policy boundary: only kite names beneath the domain you specify should be accepted by that line. Add another domain= line only when you intentionally want another domain and its own authentication policy.

Resolve port conflicts

If Apache, Nginx, another PageKite process, or another service already listens on the required address and port, PageKite cannot bind there. The front-end guide allows a host= line to bind PageKite to a particular local address. For example, when the server has multiple addresses, bind the relay to the address whose DNS record points at the front end:

host=203.0.113.20

Use the host’s actual address; the example above is only a documentation placeholder. Confirm the result with the service logs and your operating system’s socket tools rather than assuming a bind succeeded.

Map a service running on the Debian host

Create 80_backend.rc

When the front end should also expose a web server on the same machine, create /etc/pagekite.d/80_backend.rc and add a mapping such as:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
service_on=http:192.168.0.1:127.0.0.1:80:

Replace the example addresses and port with the actual service. In the documented syntax, the fields are:

service_on=proto:kitename:host:port:secret
  • proto is the protocol, such as http.
  • kitename identifies the kite domain to publish.
  • host and port identify the local listener that PageKite should reach.
  • secret is the service-side secret when one is required by the mapping.

The Debian man page documents the equivalent command-line form as --service_on=proto:kitename:host:port:secret. Do not copy the sample IP address blindly: a loopback listener such as 127.0.0.1 is appropriate only when the service is on the same host and listens there. Test the service locally first, for example with its own health check or an HTTP request to the configured address and port.

Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Point remote backends at your relay

A backend on another machine must be told to use your relay rather than the hosted PageKite front end. The backend-side settings shown by the official guide are:

frontend=frontend.your.domain:443
fe_certname=frontend.your.domain
ca_certs=/etc/pagekite.d/site-cert.pem

Replace frontend.your.domain with the DNS name of your front end. The backend’s frontend endpoint, the certificate name in fe_certname, and the name covered by the certificate must agree. Install the CA bundle at the path named by ca_certs, or change the path to the bundle used by your system.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The front end’s domain= line supplies the shared secret used to authenticate tunnel registrations. Make the backend’s registration credentials match the front-end policy for the kite it is publishing. A mismatch normally appears as an authentication or registration failure rather than an application error, so check the secret and domain together.

Configure TLS and certificates

Terminate TLS at the front end

The official front-end workflow uses a PEM file containing the front end’s certificate and private key, then declares the endpoint with:

tls_endpoint=frontend.your.domain:/path/to/frontend.pem

Use the real relay hostname and the actual path to the PEM file. The certificate must be valid for the hostname clients and backends use. Keep the private key and the PageKite shared secret readable only by the accounts that need them; they are equivalent to other server credentials.

Make backend verification consistent

On each backend, set frontend, fe_certname, and ca_certs as shown above. The CA bundle must contain a trust root that validates the front-end certificate, and fe_certname must match the certificate’s name. If you connect by an IP address while the certificate covers only a DNS name, verification can fail even though the server is reachable. Use the DNS name covered by the certificate for the endpoint.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

When changing certificates, update the PEM on the front end and the CA bundle or trust configuration on backends as needed, then restart the affected processes. Check expiration and renewal procedures before deploying so a renewed certificate is installed at the same path or the configuration is updated atomically.

DNS and firewall validation

  1. Create the relay DNS record and verify that it resolves publicly to the Debian host’s reachable address. If you use multiple addresses, ensure the address selected by clients is one on which PageKite is listening.
  2. Allow inbound TCP 80 and 443 through the Debian host firewall and any cloud or upstream firewall. An open local socket is not sufficient when an upstream security group still blocks the port.
  3. Confirm that no other process owns the configured address and ports. If there is a conflict, stop the competing listener or use a dedicated address with host=.
  4. From a separate network, test that the relay ports are reachable. Test from outside the server’s own LAN because local firewall rules and hairpin routing can hide an external block.

Start, restart, and observe the daemon

After editing the files, restart the Debian service:

sudo invoke-rc.d pagekite restart

On installations managed through systemd, the package guide also shows restarting with:

sudo systemctl restart pagekite

Use the command appropriate to the service wrapper installed on your host. Check the result immediately instead of assuming a successful command means every listener and tunnel is healthy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The packaged service writes to /var/log/pagekite/pagekite.log. Watch that file while bringing up a backend and look for listener startup, certificate loading, tunnel authentication, and service connection messages.

Run an interactive diagnostic session

For detailed diagnosis, stop the daemon first so it does not compete for the same ports, then run PageKite in the foreground with the packaged configuration directory:

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
sudo pagekite --clean --optdir=/etc/pagekite.d

When the normal log does not identify the problem, add --logfile=stdio to keep diagnostics in the terminal and --debugio for lower-level connection detail. Restore the service process after testing and do not leave verbose debugging enabled indefinitely on a public relay because logs can expose connection details and credentials.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Verify the complete path

  1. Resolve the relay hostname from a client network and confirm it returns the intended public address.
  2. Check that TCP 80 and 443 reach the Debian host and that PageKite has bound the expected addresses.
  3. Start the backend and watch the front-end log for a successful authenticated tunnel registration.
  4. Request the kite hostname over HTTP, then HTTPS if TLS is configured. Confirm that the request reaches the intended local service, not merely that the front end accepts a TCP connection.
  5. Stop the backend briefly and repeat the request. The resulting failure should indicate that the tunnel or backend is unavailable; this distinguishes routing problems from an application that is simply returning an error.

Troubleshoot by symptom

Symptom Likely cause What to check
PageKite will not start or reports an address-in-use error Another process owns the configured address or port Inspect listeners, stop the conflicting service, or add a host= line for a dedicated local address.
The relay hostname does not connect from the Internet DNS points elsewhere, or TCP 80/443 is blocked upstream Verify public DNS, host firewall rules, cloud security rules, and the external socket test.
A backend cannot register Front-end name, port, secret, or domain policy does not match Compare the backend endpoint and registration credentials with the front end’s domain= line; inspect the PageKite log.
TLS reports an unknown issuer or name mismatch The CA bundle is wrong, the certificate does not cover the name, or the backend connects using a different name Check tls_endpoint, frontend, fe_certname, ca_certs, and the certificate’s names and trust chain.
The tunnel is up but the application is unreachable The service_on host or port is wrong, or the local application is not listening Test the application locally at the exact address and port in 80_backend.rc; correct the mapping and restart.
Changes appear to have no effect The file is not being read, or a later lexicographic file overrides it Confirm the filename ends in .rc, check spelling and permissions, review all files in /etc/pagekite.d/, and restart the daemon.
The foreground diagnostic cannot bind The background daemon is still running Stop the service before running --clean --optdir=/etc/pagekite.d interactively.

Security and day-to-day operations

  • Treat the relay as an Internet-facing service. Minimize exposed ports and keep Debian and PageKite patched through your normal change process.
  • Use separate, strong secrets. Do not reuse the domain= secret across unrelated domains or environments. Rotate a secret by coordinating the front end and every backend that uses it.
  • Protect configuration files and keys. Files under /etc/pagekite.d/ can contain shared secrets, certificate paths, and private key references. Restrict administrative access and avoid copying them into world-readable locations.
  • Monitor logs and renewals. Alert on repeated registration failures, listener errors, certificate-expiration warnings, and unexpected changes in connection volume. Keep enough log history to diagnose intermittent tunnel failures without retaining sensitive data longer than necessary.
  • Plan capacity from observation. There is no current official one-size-fits-all capacity number for a Debian front end. Measure CPU, memory, bandwidth, concurrent tunnels, and protocol mix under your own workload before adding more backends.

Self-hosted front end versus the hosted service

The choice is operational rather than a guaranteed performance difference. The available documentation does not provide a current numerical benchmark comparing the two options.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Decision factor Self-hosted Debian front end Hosted PageKite front end
DNS and certificate control You choose the relay domain, certificate files, trust policy, and renewal process. The service operator controls the relay infrastructure and its certificate workflow.
Operational burden You maintain Debian, PageKite, firewall rules, DNS, logs, secrets, and incident recovery. You avoid running the public relay and its supporting infrastructure.
Public-host cost You provide and pay for the Internet server and its network resources; the amount depends on your provider and workload. You use the provider’s service according to its current offering.
Scaling responsibility You size, monitor, and expand the host or relay fleet. The provider handles relay capacity within the service’s terms.
Custom relay policy You can define accepted domains, credentials, listeners, and local integration. You work within the controls exposed by the hosted service.

Choose self-hosting when ownership of DNS and certificates, a private relay policy, or integration with an existing Internet server justifies the maintenance work. Choose the hosted option when avoiding public-server administration is more important than controlling the relay itself.

Reference configuration layout

A minimal arrangement for a front end that also publishes a local web service can look like this:

/etc/pagekite.d/10_account.rc       # account or common settings
/etc/pagekite.d/20_frontend.rc      # public relay listeners and domain policy
/etc/pagekite.d/80_backend.rc       # optional local service mapping

The corresponding files contain the following application-specific values:

# /etc/pagekite.d/20_frontend.rc
isfrontend
ports=80,443
protos=http,https
domain=http,https:*.your.domain:REPLACE_WITH_A_LONG_SECRET
tls_endpoint=frontend.your.domain:/secure/path/frontend.pem

# /etc/pagekite.d/80_backend.rc
service_on=http:your-kite.your.domain:127.0.0.1:80:

The hostname, secret, certificate path, kite name, and local service address in this example are placeholders and must be replaced. If this host is only a relay for remote backends, omit the service_on line and configure each remote backend with the relay endpoint, certificate name, and CA bundle instead.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Final pre-launch checklist

  • DNS for the relay name resolves to the Debian host.
  • TCP 80 and 443 are allowed through every firewall between clients and the host.
  • 20_frontend.rc contains isfrontend, the intended ports and protocols, and a strong domain= policy.
  • Any port conflict has been removed or handled with host=.
  • Each local mapping points to a service that is actually listening at the specified address and port.
  • The front-end PEM, endpoint name, backend fe_certname, and CA bundle form one consistent TLS chain.
  • Secrets and private keys are protected, and the service log is monitored after restart.
  • You have tested both an ordinary request and a failure case with the backend unavailable.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.