Documentation
Introduction
Configuration
- HTTPProxy Fundamentals
 - Gateway API Support
 - Ingress v1 Support
 - Virtual Hosts
 - Inclusion and Delegation
 - TLS Termination
 - Upstream TLS
 - Request Routing
 - External Service Routing
 - Request Rewriting
 - CORS
 - Websockets
 - Upstream Health Checks
 - Client Authorization
 - TLS Delegation
 - Rate Limiting
 - Access logging
 - Cookie Rewriting
 - Overload Manager
 - JWT Verification
 - IP Filtering
 - Annotations Reference
 - Slow Start Mode
 - Tracing Support
 - API Reference
 
Deployment
- Deployment Options
 - Contour Configuration
 - Upgrading Contour
 - Enabling TLS between Envoy and Contour
 - Redeploy Envoy
 
Guides
- Deploying Contour on AWS with NLB
 - AWS Network Load Balancer TLS Termination with Contour
 - Deploying HTTPS services with Contour and cert-manager
 - External Authorization Support
 - FIPS 140-2 in Contour
 - Using Gatekeeper with Contour
 - Using Gateway API with Contour
 - Global Rate Limiting
 - Configuring ingress to gRPC services with Contour
 - Health Checking
 - Creating a Contour-compatible kind cluster
 - Collecting Metrics with Prometheus
 - How to Configure PROXY Protocol v1/v2 Support
 - Contour/Envoy Resource Limits
 
Troubleshooting
- Envoy Administration Access
 - Contour Debug Logging
 - Envoy Debug Logging
 - Visualize the Contour Graph
 - Show Contour xDS Resources
 - Profiling Contour
 - Envoy Container Stuck in Unready State
 
Resources
- Support Policy
 - Compatibility Matrix
 - Contour Deprecation Policy
 - Release Process
 - Frequently Asked Questions
 - Tagging
 
Security
Contribute
Websockets
WebSocket support can be enabled on specific routes using the enableWebsockets field:
# httpproxy-websockets.yaml
apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: chat
  namespace: default
spec:
  virtualhost:
    fqdn: chat.example.com
  routes:
  - services:
    - name: chat-app
      port: 80
  - conditions:
    - prefix: /websocket
    enableWebsockets: true # Setting this to true enables websocket for all paths that match /websocket
    services:
    - name: chat-app
      port: 80
If you are using Gateway API, websockets are enabled by default at the Listener level.
Twitter
Slack