Open cirego opened 4 weeks ago
thanks for the report!
kubectl port-forward uses TCP, it doesn't care about layer 7 (http and https). so visiting https manually will work
you can use the links
argument to create an https link - https://docs.tilt.dev/accessing_resource_endpoints#arbitrary-links
i'll leave this open to add support for link_protocol
like the link_path
we have today
https://docs.tilt.dev/api#api.port_forward
Thanks for the response!
I can use the link workaround by creating a link
-- is there a way to hide the link generated by the port_forward
so that users are not confused about which to use?
Describe the Feature You Want
I would like the ability to specify the protocol handler in port forwards so that links to HTTPS services "just work".
Current Behavior
Navigating to an HTTPS service using a
port_forward
link results in a400 Bad Request
fromnginx
.Our current Tiltfile sets up nginx with a certificate trusted by the user's browser. We have a port-forward clause in our Tiltfile that looks like this:
When the user clicks this link, the browser sends an
HTTP
request, giving a 400 Bad Request ("The plain HTTP request was sent to HTTPS port").Why Do You Want This?
Users can work around the bad request by manually prepending
https://
to the URL in their browser navbar. Users find this tedious, as they must do this every time they click the link. It also creates a decent number of questions as new developers run into this issue.Adding an option to set the
protocol
handler in theport_forward
would neatly fix this issue. If I could update myport_forward
to includeprotocol='https'
, then users will no longer need to edit the URL in their browser.Instead of constructing a
localhost:8443
link, this would instead constructhttps://localhost:8443
.