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;