podman machine: fix port forwarding with proxy
When a user has a http proxy configured the VM will use it. However since gvproxy can only be reached internally from within the VM the port forwarding HTTP API call should not be redirected to the proxy. [NO NEW TESTS NEEDED] Fixes #13628 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
parent
80123ca505
commit
c0bbca8c44
|
@ -11,6 +11,7 @@ import (
|
|||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/containers/common/libnetwork/types"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
@ -36,7 +37,18 @@ func requestMachinePorts(expose bool, ports []types.PortMapping) error {
|
|||
url = url + "unexpose"
|
||||
}
|
||||
ctx := context.Background()
|
||||
client := &http.Client{}
|
||||
client := &http.Client{
|
||||
Transport: &http.Transport{
|
||||
// make sure to not set a proxy here so explicitly ignore the proxy
|
||||
// since we want to talk directly to gvproxy
|
||||
// https://github.com/containers/podman/issues/13628
|
||||
Proxy: nil,
|
||||
MaxIdleConns: 50,
|
||||
IdleConnTimeout: 30 * time.Second,
|
||||
TLSHandshakeTimeout: 10 * time.Second,
|
||||
ExpectContinueTimeout: 1 * time.Second,
|
||||
},
|
||||
}
|
||||
buf := new(bytes.Buffer)
|
||||
for num, port := range ports {
|
||||
protocols := strings.Split(port.Protocol, ",")
|
||||
|
@ -78,7 +90,6 @@ func requestMachinePorts(expose bool, ports []types.PortMapping) error {
|
|||
}
|
||||
|
||||
func makeMachineRequest(ctx context.Context, client *http.Client, url string, buf io.Reader) error {
|
||||
//var buf io.ReadWriter
|
||||
req, err := http.NewRequestWithContext(ctx, http.MethodPost, url, buf)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue