URL Cleanup

This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* [ ] http://httpbin.org:80 (200) with 12 occurrences could not be migrated:
   ([https](https://httpbin.org:80) result NotSslRecordException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://acme.com:8080 (ConnectTimeoutException) with 1 occurrences migrated to:
  https://acme.com:8080 ([https](https://acme.com:8080) result ConnectTimeoutException).
* [ ] http://acme.org (ConnectTimeoutException) with 2 occurrences migrated to:
  https://acme.org ([https](https://acme.org) result ConnectTimeoutException).
* [ ] http://compose.docker.io/ (UnknownHostException) with 1 occurrences migrated to:
  https://compose.docker.io/ ([https](https://compose.docker.io/) result UnknownHostException).
* [ ] http://foo.example.com (UnknownHostException) with 1 occurrences migrated to:
  https://foo.example.com ([https](https://foo.example.com) result UnknownHostException).
* [ ] http://www.uri-destination.org (UnknownHostException) with 1 occurrences migrated to:
  https://www.uri-destination.org ([https](https://www.uri-destination.org) result UnknownHostException).
* [ ] http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html ([https](https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html) result 404).
* [ ] http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
  https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://acme.com with 1 occurrences migrated to:
  https://acme.com ([https](https://acme.com) result 200).
* [ ] http://cloud.spring.io/spring-cloud-netflix/ with 3 occurrences migrated to:
  https://cloud.spring.io/spring-cloud-netflix/ ([https](https://cloud.spring.io/spring-cloud-netflix/) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html with 1 occurrences migrated to:
  https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html ([https](https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html) result 200).
* [ ] http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html ([https](https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html) result 200).
* [ ] http://example.com with 8 occurrences migrated to:
  https://example.com ([https](https://example.com) result 200).
* [ ] http://example.org with 34 occurrences migrated to:
  https://example.org ([https](https://example.org) result 200).
* [ ] http://httpbin.org with 1 occurrences migrated to:
  https://httpbin.org ([https](https://httpbin.org) result 200).
* [ ] http://projects.spring.io/spring-cloud/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-cloud/ ([https](https://projects.spring.io/spring-cloud/) result 200).
* [ ] http://projects.spring.io/spring-security/ with 2 occurrences migrated to:
  https://projects.spring.io/spring-security/ ([https](https://projects.spring.io/spring-security/) result 200).
* [ ] http://projects.spring.io/spring-session/ with 2 occurrences migrated to:
  https://projects.spring.io/spring-session/ ([https](https://projects.spring.io/spring-session/) result 200).
* [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 2 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* [ ] http://docs.spring.io with 1 occurrences migrated to:
  https://docs.spring.io ([https](https://docs.spring.io) result 301).
* [ ] http://plugins.jetbrains.com/plugin/6546 with 2 occurrences migrated to:
  https://plugins.jetbrains.com/plugin/6546 ([https](https://plugins.jetbrains.com/plugin/6546) result 301).
* [ ] http://eclipse.org with 1 occurrences migrated to:
  https://eclipse.org ([https](https://eclipse.org) result 302).
* [ ] http://eclipse.org/m2e/ with 2 occurrences migrated to:
  https://eclipse.org/m2e/ ([https](https://eclipse.org/m2e/) result 302).
* [ ] http://www.springsource.com/developer/sts with 1 occurrences migrated to:
  https://www.springsource.com/developer/sts ([https](https://www.springsource.com/developer/sts) result 302).

# Ignored
These URLs were intentionally ignored.

* http://endpoint with 1 occurrences
* http://localhost with 51 occurrences
* http://localhost/ with 2 occurrences
* http://localhost/abc with 1 occurrences
* http://localhost/get with 10 occurrences
* http://localhost/get?a=b with 2 occurrences
* http://localhost/get?a=b&c=d with 4 occurrences
* http://localhost/getb with 3 occurrences
* http://localhost:3001 with 1 occurrences
* http://localhost:8008/configserver/foo/default with 1 occurrences
* http://localhost:8080/flakey with 1 occurrences
* http://localhost:8080/get with 6 occurrences
* http://localhost:9000/foos/ with 4 occurrences
* http://localhost:9080 with 1 occurrences
* http://myhost with 4 occurrences
* http://myhost/abc%20def/get with 1 occurrences
* http://myhost/mypath with 1 occurrences
* http://myservice with 2 occurrences
* http://nameservice with 1 occurrences
* http://nameservice/foo with 1 occurrences
* http://originalhost:8080/foo/bar with 2 occurrences
* http://originalhost:8080/get with 2 occurrences
* http://originalhost:8080/get/ with 1 occurrences
* http://originalhost:8080/one/two/three with 1 occurrences
* http://originalhost:8080/prefix/get with 1 occurrences
* http://originalhost:8080/prefix/get/ with 1 occurrences
* http://override-url with 1 occurrences
* http://override-url:80 with 1 occurrences
* http://routedservice:8090/ with 1 occurrences
* http://routedservice:8090/get with 2 occurrences
* http://routedservice:8090/two with 1 occurrences
* http://service1 with 1 occurrences
* http://someuri with 1 occurrences
* http://someuri:80 with 1 occurrences
* http://someurl with 1 occurrences
This commit is contained in:
Spring Operator
2019-03-26 03:38:21 -05:00
parent 3168821a2e
commit 50020fe390
15 changed files with 70 additions and 70 deletions

View File

@@ -16,7 +16,7 @@ include::intro.adoc[]
== How to Include Spring Cloud Gateway
To include Spring Cloud Gateway in your project use the starter with group `org.springframework.cloud`
and artifact id `spring-cloud-starter-gateway`. See the http://projects.spring.io/spring-cloud/[Spring Cloud Project page]
and artifact id `spring-cloud-starter-gateway`. See the https://projects.spring.io/spring-cloud/[Spring Cloud Project page]
for details on setting up your build system with the current Spring Cloud Release Train.
If you include the starter, but, for some reason, you do not want the gateway to be enabled, set `spring.cloud.gateway.enabled=false`.
@@ -34,8 +34,8 @@ IMPORTANT: Spring Cloud Gateway requires the Netty runtime provided by Spring Bo
== Glossary
* *Route*: Route the basic building block of the gateway. It is defined by an ID, a destination URI, a collection of predicates and a collection of filters. A route is matched if aggregate predicate is true.
* *Predicate*: This is a http://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html[Java 8 Function Predicate]. The input type is a http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html[Spring Framework `ServerWebExchange`]. This allows developers to match on anything from the HTTP request, such as headers or parameters.
* *Filter*: These are instances http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html[Spring Framework `GatewayFilter`] constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request.
* *Predicate*: This is a https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html[Java 8 Function Predicate]. The input type is a https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html[Spring Framework `ServerWebExchange`]. This allows developers to match on anything from the HTTP request, such as headers or parameters.
* *Filter*: These are instances https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html[Spring Framework `GatewayFilter`] constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request.
[[gateway-how-it-works]]
== How It Works
@@ -62,7 +62,7 @@ spring:
gateway:
routes:
- id: after_route
uri: http://example.org
uri: https://example.org
predicates:
- After=2017-01-20T17:42:47.789-07:00[America/Denver]
----
@@ -80,7 +80,7 @@ spring:
gateway:
routes:
- id: before_route
uri: http://example.org
uri: https://example.org
predicates:
- Before=2017-01-20T17:42:47.789-07:00[America/Denver]
----
@@ -98,7 +98,7 @@ spring:
gateway:
routes:
- id: between_route
uri: http://example.org
uri: https://example.org
predicates:
- Between=2017-01-20T17:42:47.789-07:00[America/Denver], 2017-01-21T17:42:47.789-07:00[America/Denver]
----
@@ -116,7 +116,7 @@ spring:
gateway:
routes:
- id: cookie_route
uri: http://example.org
uri: https://example.org
predicates:
- Cookie=chocolate, ch.p
----
@@ -134,7 +134,7 @@ spring:
gateway:
routes:
- id: header_route
uri: http://example.org
uri: https://example.org
predicates:
- Header=X-Request-Id, \d+
----
@@ -152,7 +152,7 @@ spring:
gateway:
routes:
- id: host_route
uri: http://example.org
uri: https://example.org
predicates:
- Host={sub}.somehost.org
----
@@ -175,7 +175,7 @@ spring:
gateway:
routes:
- id: method_route
uri: http://example.org
uri: https://example.org
predicates:
- Method=GET
----
@@ -193,7 +193,7 @@ spring:
gateway:
routes:
- id: host_route
uri: http://example.org
uri: https://example.org
predicates:
- Path=/foo/{segment}
----
@@ -222,7 +222,7 @@ spring:
gateway:
routes:
- id: query_route
uri: http://example.org
uri: https://example.org
predicates:
- Query=baz
----
@@ -237,7 +237,7 @@ spring:
gateway:
routes:
- id: query_route
uri: http://example.org
uri: https://example.org
predicates:
- Query=foo, ba.
----
@@ -256,7 +256,7 @@ spring:
gateway:
routes:
- id: remoteaddr_route
uri: http://example.org
uri: https://example.org
predicates:
- RemoteAddr=192.168.1.1/24
----
@@ -334,7 +334,7 @@ spring:
gateway:
routes:
- id: add_request_header_route
uri: http://example.org
uri: https://example.org
filters:
- AddRequestHeader=X-Request-Foo, Bar
----
@@ -352,7 +352,7 @@ spring:
gateway:
routes:
- id: add_request_parameter_route
uri: http://example.org
uri: https://example.org
filters:
- AddRequestParameter=foo, bar
----
@@ -370,7 +370,7 @@ spring:
gateway:
routes:
- id: add_response_header_route
uri: http://example.org
uri: https://example.org
filters:
- AddResponseHeader=X-Response-Foo, Bar
----
@@ -388,7 +388,7 @@ spring:
gateway:
routes:
- id: dedupe_response_header_route
uri: http://example.org
uri: https://example.org
filters:
- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin
----
@@ -401,7 +401,7 @@ The DedupeResponseHeader filter also accepts an optional `strategy` parameter. T
https://github.com/Netflix/Hystrix[Hystrix] is a library from Netflix that implements the https://martinfowler.com/bliki/CircuitBreaker.html[circuit breaker pattern].
The Hystrix GatewayFilter allows you to introduce circuit breakers to your gateway routes, protecting your services from cascading failures and allowing you to provide fallback responses in the event of downstream failures.
To enable Hystrix GatewayFilters in your project, add a dependency on `spring-cloud-starter-netflix-hystrix` from http://cloud.spring.io/spring-cloud-netflix/[Spring Cloud Netflix].
To enable Hystrix GatewayFilters in your project, add a dependency on `spring-cloud-starter-netflix-hystrix` from https://cloud.spring.io/spring-cloud-netflix/[Spring Cloud Netflix].
The Hystrix GatewayFilter Factory requires a single `name` parameter, which is the name of the `HystrixCommand`.
@@ -413,7 +413,7 @@ spring:
gateway:
routes:
- id: hystrix_route
uri: http://example.org
uri: https://example.org
filters:
- Hystrix=myCommandName
----
@@ -462,7 +462,7 @@ spring:
gateway:
routes:
- id: prefixpath_route
uri: http://example.org
uri: https://example.org
filters:
- PrefixPath=/mypath
----
@@ -480,7 +480,7 @@ spring:
gateway:
routes:
- id: preserve_host_route
uri: http://example.org
uri: https://example.org
filters:
- PreserveHostHeader
----
@@ -535,7 +535,7 @@ spring:
gateway:
routes:
- id: requestratelimiter_route
uri: http://example.org
uri: https://example.org
filters:
- name: RequestRateLimiter
args:
@@ -565,7 +565,7 @@ spring:
gateway:
routes:
- id: requestratelimiter_route
uri: http://example.org
uri: https://example.org
filters:
- name: RequestRateLimiter
args:
@@ -585,12 +585,12 @@ spring:
gateway:
routes:
- id: prefixpath_route
uri: http://example.org
uri: https://example.org
filters:
- RedirectTo=302, http://acme.org
- RedirectTo=302, https://acme.org
----
This will send a status 302 with a `Location:http://acme.org` header to perform a redirect.
This will send a status 302 with a `Location:https://acme.org` header to perform a redirect.
=== RemoveHopByHopHeadersFilter GatewayFilter Factory
The RemoveHopByHopHeadersFilter GatewayFilter Factory removes headers from forwarded requests. The default list of headers that is removed comes from the https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-14#section-7.1.3[IETF].
@@ -618,7 +618,7 @@ spring:
gateway:
routes:
- id: removerequestheader_route
uri: http://example.org
uri: https://example.org
filters:
- RemoveRequestHeader=X-Request-Foo
----
@@ -636,7 +636,7 @@ spring:
gateway:
routes:
- id: removeresponseheader_route
uri: http://example.org
uri: https://example.org
filters:
- RemoveResponseHeader=X-Response-Foo
----
@@ -658,7 +658,7 @@ spring:
gateway:
routes:
- id: rewritepath_route
uri: http://example.org
uri: https://example.org
predicates:
- Path=/foo/**
filters:
@@ -678,7 +678,7 @@ spring:
gateway:
routes:
- id: rewriteresponseheader_route
uri: http://example.org
uri: https://example.org
filters:
- RewriteResponseHeader=X-Response-Foo, , password=[^&]+, password=***
----
@@ -687,7 +687,7 @@ For a header value of `/42?user=ford&password=omg!what&flag=true`, it will be se
=== SaveSession GatewayFilter Factory
The SaveSession GatewayFilter Factory forces a `WebSession::save` operation _before_ forwarding the call downstream. This is of particular use when
using something like http://projects.spring.io/spring-session/[Spring Session] with a lazy data store and need to ensure the session state has been saved before making the forwarded call.
using something like https://projects.spring.io/spring-session/[Spring Session] with a lazy data store and need to ensure the session state has been saved before making the forwarded call.
.application.yml
[source,yaml]
@@ -697,14 +697,14 @@ spring:
gateway:
routes:
- id: save_session
uri: http://example.org
uri: https://example.org
predicates:
- Path=/foo/**
filters:
- SaveSession
----
If you are integrating http://projects.spring.io/spring-security/[Spring Security] with Spring Session, and want to ensure security details have been forwarded to the remote process, this is critical.
If you are integrating https://projects.spring.io/spring-security/[Spring Security] with Spring Session, and want to ensure security details have been forwarded to the remote process, this is critical.
=== SecureHeaders GatewayFilter Factory
The SecureHeaders GatewayFilter Factory adds a number of headers to the response at the reccomendation from https://blog.appcanary.com/2017/http-security-headers.html[this blog post].
@@ -743,7 +743,7 @@ spring:
gateway:
routes:
- id: setpath_route
uri: http://example.org
uri: https://example.org
predicates:
- Path=/foo/{segment}
filters:
@@ -763,7 +763,7 @@ spring:
gateway:
routes:
- id: setresponseheader_route
uri: http://example.org
uri: https://example.org
filters:
- SetResponseHeader=X-Response-Foo, Bar
----
@@ -781,11 +781,11 @@ spring:
gateway:
routes:
- id: setstatusstring_route
uri: http://example.org
uri: https://example.org
filters:
- SetStatus=BAD_REQUEST
- id: setstatusint_route
uri: http://example.org
uri: https://example.org
filters:
- SetStatus=401
----
@@ -1081,13 +1081,13 @@ spring:
gateway:
routes:
- id: setstatus_route
uri: http://example.org
uri: https://example.org
filters:
- name: SetStatus
args:
status: 401
- id: setstatusshortcut_route
uri: http://example.org
uri: https://example.org
filters:
- SetStatus=401
----
@@ -1179,7 +1179,7 @@ spring:
globalcors:
corsConfigurations:
'[/**]':
allowedOrigins: "http://docs.spring.io"
allowedOrigins: "https://docs.spring.io"
allowedMethods:
- GET
----
@@ -1291,7 +1291,7 @@ To retrieve information about a single route, make a `GET` request to `/actuator
"args": {"_genkey_0":"/first"}
}],
"filters": [],
"uri": "http://www.uri-destination.org",
"uri": "https://www.uri-destination.org",
"order": 0
}]
----