Securing your connection to your GPU server is a key consideration for every developer. Ensuring your work is accessible while maintaining security is important as you develop the next big AI thing! Before proceeding make sure also reading 🌍 HTTPS Access (How to access your Blib via SSL) and 🛡️ Trooper.AI customizable Hardware Firewall.
👮 For optimal security and scalability, do not expose this endpoint directly to public users. Implement a dedicated web server to manage user interactions, which will then communicate with your GPU server. This architecture adheres to best practices and industry standards.
This template provides a lightweight way for clients to expose an internal service (HTTP or WebSocket) to the public internet through the Trooper.AI router system. It automatically creates a secure HTTPS endpoint with a free SSL certificate, while forwarding traffic to any internal port on the client’s machine.
The goal is simplicity: install a small proxy, specify two ports, and instantly get a secure, externally reachable URL.
All traffic from the Webproxy’s SSL Endpoint to your machine’s public port is routed in our internal network, completely bypassing the internet. This is a significant security advantage of Trooper.AI.
Your internal service becomes available under a *.secure.trooper.ai subdomain, routed through the Trooper.AI infrastructure with automatic SSL certificates.
The template forwards both standard HTTP traffic and WebSocket connections without additional configuration.
If a username and password are provided, the endpoint is secured with Basic Auth. Leaving both values empty disables authentication.
The configuration generates a dedicated proxy endpoint, listens on a chosen port, and forwards everything to your internal service.
You only set template configuration before installation.
The external port will be assigned automatically and displayed next to the template name, just like with other templates.
🚨 Do not use port 443 and don’t provide a self sign certificate on your port!
/etc/nginx/sites-available/trooperai-webproxy-<external_port>http://127.0.0.1:<internal_port>.| Traffic type | How it’s detected | Proxy timeout |
|---|---|---|
| Regular HTTP request/response | Anything not matched below | 60s (DEFAULT) |
| Chat/Streaming (SSE / NDJSON) | Path contains /api/chat, /chat/completions, /api/generate, /generate, /stream, /events, or Accept: text/event-stream / application/x-ndjson |
10 min (LONG) |
| Large file downloads | Range header, file-like path/extension, Accept: application/octet-stream |
30 min (DOWNLOAD) |
| WebSockets | HTTP upgrade to WS/WSS | No proxy idle timeout |
The proxy also upgrades timeouts dynamically on the response (e.g., if your server sends
206orContent-Disposition: attachment, it bumps to the DOWNLOAD timeout even if the request wasn’t classified as a download initially).
Once active, Trooper.AI’s router detects the exposed port, issues a free SSL certificate, and publishes your secure endpoint.
Given a Trooper.AI-assigned domain such as:
myapp123-husky-delta.secure.trooper.ai
and a publicly available port within your configured range (e.g., 12345), with an internal service listening on port 8080,
the connection flow will be: 8080 -> 12345 -> https://myapp123-husky-delta.secure.trooper.ai.
This securely forwards traffic from the public HTTPS endpoint to your internal service.
We have compiled answers to common questions regarding the webproxy feature. For individual assistance, please contact our support team: Support Contacts.
Ensure your internal service is running on the desired port, then install or update the webproxy template. The assigned domain and SSL activation status (indicated by a lock icon) will then be displayed.
That’s a valid question. Internally, your service operates as a standard HTTP service on a configurable port, such as 8080. This port remains internal to your server instance. The web proxy service installed via this template handles SSL encryption, automatically provisioning and managing the SSL certificate for secure external access. Essentially, this template establishes a secure HTTPS connection between your internal port and the public internet.
This template installs and configures Nginx to route internal traffic on your GPU server. While it will not override existing configurations, managing Nginx directly on your GPU server is generally not recommended due to potential complexity. Consider whether direct Nginx management is necessary for your workflow.
Our Secure SSL Proxy includes infrastructure-level protection to keep the routing layer stable and shield your service from abusive traffic. It continuously monitors connection health and traffic patterns, and temporarily throttles sources that cause repeated failures. So the proxy can tell a genuine outage from normal operation, your service should signal real problems clearly — by rejecting or closing the connection, or returning a 5xx server error when it is genuinely unavailable.
Application-level authentication (e.g. login or API-key checks returning 401/403) is handled by your own service. The proxy intentionally does not block on these, so normal auth flows are never disrupted.
If you encounter an error page while accessing your endpoint, it will display a unique error code (e.g. e-code: TP3) in its headline. Please include this code when contacting support — it helps us pinpoint the cause immediately.
| # | Status | Meaning | What you can do |
|---|---|---|---|
| TP1 | 502 | Generic gateway error while contacting your service. | Verify your internal service is running and reload after a few moments. |
| TP2 | 403 | Request blocked by a firewall rule for your endpoint. | Check your firewall/allow-list settings for the source IP and port. |
| TP3 | 502 | Your internal service could not be reached. | Confirm the service is listening on the configured internal port. |
| TP4 | 503 | Access to your service was temporarily blocked after repeated errors. | Wait a short moment, then reload. Avoid automatic retries on the client side. |
| TP5 | 502 | Connection to your service was refused, not found, or timed out. | Ensure the service is up, reachable, and responding on the correct port. |
💡 Avoid aggressive automatic retries when you see an error page. Repeated failing requests can lead to a temporary block (TP4).