Overview
go-httpbin running as a hardened service
systemctl status and ss showing go-httpbin active and bound to loopback 127.0.0.1:8080 only, with nginx active and terminating TLS on port 443 as the sole network facing surface.
go-httpbin running as a hardened service
Secure by default TLS and basic auth
Request inspection echoed as JSON
Any status code plus utility endpoints
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
go-httpbin - Hardened HTTP Testing Service by cloudimg
This is a repackaged open source software product with additional charges for cloudimg support services.
go-httpbin is a fast, dependency-free HTTP request and response testing service - a Go implementation of the well-known httpbin. It exposes a rich set of endpoints for exercising and debugging anything that speaks HTTP.
What You Get
A fully configured, production-hardened AMI with go-httpbin running as a systemd service behind nginx. A working test endpoint answers requests within minutes of launch - no configuration required.
Key Endpoints
- Echo endpoints (/get, /post, /put, /delete) that reflect method, headers, query arguments, and body back as JSON
- Status code endpoints (/status/{code}) returning any HTTP status you request
- Utility endpoints for headers, client IP, redirects, delays, streaming, gzip, deflate, basic auth challenges, cookies, UUIDs, and random bytes
Who This Is For
go-httpbin is the tool you point your HTTP clients, SDKs, proxies, API gateways, load balancers, and CI pipelines at when you need a predictable, controllable server on the other end. Verify your client handles a 429 with a Retry-After header, a slow response, a chunked stream, or a redirect chain correctly - go-httpbin gives you an endpoint for each scenario with no external dependencies and no shared public rate limits.
Architecture and Security
Secure by default and never an open reflector. go-httpbin binds to the loopback interface only. nginx is the single network-facing surface, terminating TLS on port 443 with a per-instance self-signed certificate and fronting the entire service with HTTP basic authentication. An unauthenticated health endpoint is available for load balancer and liveness probes, and plain HTTP on port 80 redirects to HTTPS.
Nothing secret is baked into the image. On first boot, a one-shot service generates a unique HTTP basic auth password for the user "httpbin" and a unique self-signed TLS certificate, then writes credentials to a root-only file. This prevents the service from being abused as an open reflector or SSRF relay.
Key Capabilities
- Request inspection endpoints echoing method, headers, arguments, and body as JSON
- Arbitrary status code responses for testing error handling and retries
- Configurable delays, streaming, chunked, and drip responses for timeout and backpressure testing
- Gzip, deflate, and encoding endpoints
- Redirect, cookie, cache, and basic auth challenge endpoints
- Single static binary with no runtime dependencies - starts instantly and uses minimal memory
AWS Integration
Deploy on any EC2 instance type. The lightweight Go binary runs efficiently even on t3.micro instances. Use with Application Load Balancers via the unauthenticated health check endpoint. Integrate into AWS CodePipeline or CodeBuild workflows for automated HTTP client testing.
Get Started
- Launch the AMI on your preferred EC2 instance
- Retrieve the per-instance credentials from the root-only file
- Point your HTTP client, test suite, or CI job at the HTTPS endpoint with the basic auth user and password
cloudimg engineers provide 24/7 support and can help you wire go-httpbin into your test and CI workflows, front it with a real domain and trusted certificate, and tune it for your environment.
Highlights
- go-httpbin, the fast self contained Go implementation of httpbin, fully installed as a hardened systemd service behind nginx. Exercise and debug any HTTP client, proxy, load balancer or CI pipeline against echo, status code, header, redirect, delay, streaming and encoding endpoints, all from one dependency free binary.
- Secure by default and never an open reflector: go-httpbin binds the loopback interface only while nginx terminates TLS on port 443 and fronts the whole service with per instance HTTP basic authentication, so its redirect and fetch endpoints cannot be abused as an SSRF or open redirect relay. No shared or default credentials, since the per instance password and TLS certificate are both generated on first boot.
- 24/7 expert technical support from cloudimg with a one hour average response time for critical issues. Our engineers help with wiring go-httpbin into your HTTP client tests and CI pipelines, adding a real domain and certificate, tuning limits, and go-httpbin version upgrades.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
- ...
Dimension | Description | Cost/hour |
|---|---|---|
m5.large Recommended | m5.large | $0.08 |
t3.micro | t3.micro instance type | $0.04 |
t2.micro | t2.micro instance type | $0.04 |
c8id.metal-96xl | c8id.metal-96xl instance type | $0.24 |
m8i.24xlarge | m8i.24xlarge instance type | $0.24 |
i7ie.6xlarge | i7ie.6xlarge instance type | $0.24 |
m6in.2xlarge | m6in.2xlarge instance type | $0.24 |
c8ib.2xlarge | c8ib.2xlarge instance type | $0.24 |
m8idb.xlarge | m8idb.xlarge instance type | $0.12 |
m5d.metal | m5d.metal instance type | $0.24 |
Vendor refund policy
Refunds available on request.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release of go-httpbin 2.24.0, the fast self contained Go implementation of httpbin, as a ready to use HTTP request and response testing service running behind nginx TLS with per instance HTTP basic auth.
Additional details
Usage instructions
Connect via SSH on port 22 as the default login user for your operating system variant (the user guide lists it per variant; on the Ubuntu 24.04 variant it is ubuntu). This is a headless HTTP request and response testing service with no web console to log in to. On first boot the instance generates a unique HTTP basic auth password for the user httpbin and a unique self signed TLS certificate. Read the per instance credentials with: sudo cat /root/go-httpbin-credentials.txt. Confirm the services are running with: systemctl status go-httpbin nginx. go-httpbin binds loopback 127.0.0.1:8080 only and nginx terminates TLS on port 443 and enforces the per instance HTTP basic auth, so reach it over HTTPS with the credentials: curl -k -u httpbin:<password> https://<public-ip>/get echoes your request as JSON, curl -k -u httpbin:<password> https://<public-ip>/status/418 returns any status code you ask for, and curl -k -u httpbin:<password> https://<public-ip>/json returns the sample document. An unauthenticated health endpoint is served for load balancer probes at https://<public-ip>/healthz, and plain HTTP on port 80 redirects to HTTPS. The TLS certificate is per instance self signed, so pass -k or install it; front the service with your own domain and a trusted certificate for production.
Resources
Vendor resources
Support
Vendor support
cloudimg provides 24/7 technical support for this go-httpbin product.
Support Channels:
- Email: support@cloudimg.co.uk
- Live chat
What We Help With:
- Deployment and first boot configuration on any EC2 instance type
- Retrieving and rotating the per-instance HTTP basic auth credentials
- Fronting the service with your own domain and a trusted TLS certificate
- Wiring go-httpbin into your HTTP client, SDK, and CI test suites
- Integration with AWS CodePipeline, CodeBuild, and Application Load Balancers
- Using status code, delay, streaming, and encoding endpoints to test retries, timeouts, and error handling
- Tuning request and response limits for your workload
- go-httpbin version upgrades and patch guidance
- Performance tuning and troubleshooting
Billing and Refunds: For billing inquiries, subscription changes, or refund requests, contact support@cloudimg.co.uk .
Our engineers are available around the clock to ensure your HTTP testing infrastructure remains operational and properly configured for your environment.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.