You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ra...@apache.org on 2019/06/21 16:59:08 UTC

[trafficcontrol] branch master updated: Fix for missing port in redirect to https (#3647)

This is an automated email from the ASF dual-hosted git repository.

rawlin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new 47f570f  Fix for missing port in redirect to https (#3647)
47f570f is described below

commit 47f570ffd3e24a0a193043447d00df6fa763379f
Author: mattjackson220 <33...@users.noreply.github.com>
AuthorDate: Fri Jun 21 10:59:02 2019 -0600

    Fix for missing port in redirect to https (#3647)
    
    * Fix for missing port in redirect to https
    
    * updated per comments
---
 traffic_monitor/srvhttp/srvhttp.go                           | 12 +++++++++++-
 .../traffic_router/core/util/PeriodicResourceUpdater.java    |  7 ++++---
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/traffic_monitor/srvhttp/srvhttp.go b/traffic_monitor/srvhttp/srvhttp.go
index 45b06a7..f6992f1 100644
--- a/traffic_monitor/srvhttp/srvhttp.go
+++ b/traffic_monitor/srvhttp/srvhttp.go
@@ -25,6 +25,7 @@ import (
 	"net"
 	"net/http"
 	"net/url"
+	"strings"
 	"sync"
 	"time"
 
@@ -186,7 +187,16 @@ func (s *Server) RunHTTPSRedirect(addr string, addrForRedirect string, readTimeo
 }
 
 func (s *Server) redirectTLS(w http.ResponseWriter, r *http.Request) {
-	host, _, _ := net.SplitHostPort(r.Host)
+	host, _, err := net.SplitHostPort(r.Host)
+	if err != nil {
+		if strings.Contains(err.Error(), "missing port in address") {
+			host = r.Host
+		} else {
+			w.WriteHeader(http.StatusInternalServerError)
+			w.Write([]byte(`{"error": "getting host from request: ` + err.Error() + `"}`))
+			return
+		}
+	}
 	http.Redirect(w, r, "https://"+host+s.addrToRedirect+r.RequestURI, http.StatusMovedPermanently)
 }
 
diff --git a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java
index efeafe9..a6a4390 100644
--- a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java
+++ b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java
@@ -121,8 +121,9 @@ public class PeriodicResourceUpdater {
 	private AsyncHttpClient newAsyncClient() {
 		return new AsyncHttpClient(
 				new AsyncHttpClientConfig.Builder()
-						.setConnectionTimeoutInMs(10000)
-							.build());
+						.setFollowRedirects(true)
+							.setConnectionTimeoutInMs(10000)
+								.build());
 	}
 
 	private synchronized void putCurrent() {
@@ -296,7 +297,7 @@ public class PeriodicResourceUpdater {
 	private Request getRequest(final String url) {
 		try {
 			new URI(url);
-			return asyncHttpClient.prepareGet(url).build();
+			return asyncHttpClient.prepareGet(url).setFollowRedirects(true).build();
 		} catch (URISyntaxException e) {
 			LOGGER.fatal("Cannot update database from Bad URI - " + url);
 			return null;