You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, deploying the application to Google Cloud Run necessitates providing TLS key and certificate files as arguments during deployment. However, Cloud Run manages HTTPS termination externally, forwarding decrypted HTTP traffic to the container. This dual TLS handling results in conflicts and errors such as:
"Client sent an HTTP request to an HTTPS server."
http: TLS handshake error from <IP>: EOF
Additionally, omitting TLS arguments prevents the application from starting, as it relies on these configurations for secure operations.
Error loading public key: open : no such file or directory
Proposed Solution
Introduce a configuration option or modification within the application to conditionally handle TLS based on the deployment environment or the presence of specific environment variables. This would enable the application to:
1. Detect Deployment Context:
• If deployed on Cloud Run, disable internal TLS handling and serve HTTP traffic.
• If deployed elsewhere (e.g., on-premises or another cloud platform), enable TLS as required.
2. Configuration Flexibility:
• Utilize environment variables to toggle TLS functionality, allowing for dynamic configuration without altering the deployment command.
3. Enhanced Compatibility:
• Ensure that the application aligns with Cloud Run’s architecture, leveraging its managed HTTPS termination without internal conflicts.
Our concern with similar proposals has been that if we make it easy to deploy the proxy without TLS, then people who don't know what they're doing will end up deploying it without TLS while exposed to the public Internet. We've had problems with third-party apps being misconfigured in this way in the past.
I'm open to suggestions for accomplishing what your'e after, but it needs friction. Friction is load-bearing here; it discourages an enthusiastic but non-techncial DIYer from blindly adding flags or running commands in a terminal. For example, even though TLS breaks server authentication instead of client authentication, this breakage deters most users from setting up insecure deployments because of the red flags that get raised when server authentication breaks.
One alternative: Use this repository as a package instead of using tesla-proxy directly. Tesla proxy is a thin wrapper around the proxy package, and you could write another thin wrapper that does what you want without needing to fork.
Description
Currently, deploying the application to Google Cloud Run necessitates providing TLS key and certificate files as arguments during deployment. However, Cloud Run manages HTTPS termination externally, forwarding decrypted HTTP traffic to the container. This dual TLS handling results in conflicts and errors such as:
"Client sent an HTTP request to an HTTPS server."
http: TLS handshake error from <IP>: EOF
Additionally, omitting TLS arguments prevents the application from starting, as it relies on these configurations for secure operations.
Error loading public key: open : no such file or directory
Proposed Solution
Introduce a configuration option or modification within the application to conditionally handle TLS based on the deployment environment or the presence of specific environment variables. This would enable the application to:
Current Deployment Command
The text was updated successfully, but these errors were encountered: