From 838c812edfe0a7d21f16b0fc666f8ff5d478f116 Mon Sep 17 00:00:00 2001 From: vsdutka Date: Thu, 7 Apr 2016 18:04:24 +0300 Subject: [PATCH] Insecure SSL support added --- server.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/server.go b/server.go index 70f9849..7559777 100644 --- a/server.go +++ b/server.go @@ -84,19 +84,20 @@ func proxy(w http.ResponseWriter, r *http.Request) { } copyHeaders(newReq.Header, r.Header) - cert, err = loadX509KeyPair(*destCertFlag, *destKeyFlag, *destKeyPassFlag) - if err != nil { - w.WriteHeader(http.StatusInternalServerError) - fmt.Fprintf(w, "Error: %s!", err.Error()) - return + tlsClientConfig := tls.Config{InsecureSkipVerify: true} + + if (*destCertFlag) != "" { + cert, err = loadX509KeyPair(*destCertFlag, *destKeyFlag, *destKeyPassFlag) + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + fmt.Fprintf(w, "Error: %s!", err.Error()) + return + } + tlsClientConfig.Certificates = []tls.Certificate{cert} } - tr := &http.Transport{ - TLSClientConfig: &tls.Config{InsecureSkipVerify: true, - //RootCAs: roots, - Certificates: []tls.Certificate{cert}, - }, - } + tr := &http.Transport{TLSClientConfig: &tlsClientConfig} + client := &http.Client{Transport: tr} newResp, err = client.Do(newReq)