|
@@ -47,10 +47,7 @@ func (router *Router) getSubdomainProxyEndpointFromHostname(hostname string) *Su
|
|
|
|
|
|
func (router *Router) rewriteURL(rooturl string, requestURL string) string {
|
|
|
rewrittenURL := requestURL
|
|
|
- rewrittenURL = strings.TrimPrefix(rewrittenURL, rooturl)
|
|
|
- rewrittenURL = strings.TrimPrefix(rewrittenURL, "http://"+rooturl)
|
|
|
- rewrittenURL = strings.TrimPrefix(rewrittenURL, "https://"+rooturl)
|
|
|
- fmt.Println("REWRITE >> ", rooturl, requestURL, rewrittenURL)
|
|
|
+ rewrittenURL = strings.TrimPrefix(rewrittenURL, strings.TrimSuffix(rooturl, "/"))
|
|
|
return rewrittenURL
|
|
|
}
|
|
|
|
|
@@ -101,7 +98,7 @@ func (h *ProxyHandler) proxyRequest(w http.ResponseWriter, r *http.Request, targ
|
|
|
rewriteURL := h.Parent.rewriteURL(target.Root, r.RequestURI)
|
|
|
var err error
|
|
|
r.URL, err = url.Parse(rewriteURL)
|
|
|
- fmt.Println(r.URL, err)
|
|
|
+ fmt.Println("CHECKPOINT1", r.URL, err)
|
|
|
|
|
|
r.Header.Set("X-Forwarded-Host", r.Host)
|
|
|
if r.Header["Upgrade"] != nil && strings.ToLower(r.Header["Upgrade"][0]) == "websocket" {
|
|
@@ -122,12 +119,16 @@ func (h *ProxyHandler) proxyRequest(w http.ResponseWriter, r *http.Request, targ
|
|
|
}
|
|
|
|
|
|
originalHostHeader := r.Host
|
|
|
+ fmt.Println("CHECKPOINT2", r.URL, err)
|
|
|
r.Host = r.URL.Host
|
|
|
+ fmt.Println("CHECKPOINT3", r.URL, err)
|
|
|
err = target.Proxy.ServeHTTP(w, r, &dpcore.ResponseRewriteRuleSet{
|
|
|
ProxyDomain: target.Domain,
|
|
|
OriginalHost: originalHostHeader,
|
|
|
})
|
|
|
|
|
|
+ fmt.Println("CHECKPOINT4", r.URL, err)
|
|
|
+
|
|
|
var dnsError *net.DNSError
|
|
|
if err != nil {
|
|
|
if errors.As(err, &dnsError) {
|