{"id":597,"date":"2021-08-25T15:53:34","date_gmt":"2021-08-25T15:53:34","guid":{"rendered":"http:\/\/robinluo.top\/?p=597"},"modified":"2021-08-29T15:56:15","modified_gmt":"2021-08-29T15:56:15","slug":"spring-cloud-gateway","status":"publish","type":"post","link":"https:\/\/robinluo.top\/?p=597","title":{"rendered":"spring cloud gateway"},"content":{"rendered":"\n<p>spring cloud gateway \u662f\u5fae\u670d\u52a1\u5e38\u7528\u7f51\u5173<\/p>\n\n\n\n<p>\u7f51\u5173\u8f6c\u53d1\u8bed\u6cd5<\/p>\n\n\n\n<p>application.properties<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nspring.cloud.gateway.routes&#91;0].id=url-proxy\nspring.cloud.gateway.routes&#91;0].predicates&#91;0]=Path=\/**\nspring.cloud.gateway.routes&#91;0].uri=http:\/\/www.baidu.com\nspring.cloud.gateway.routes&#91;0].order=1000000\n\n\n\nspring.cloud.gateway.routes&#91;1].id=eureka\nspring.cloud.gateway.routes&#91;1].predicates&#91;0]=Host=eureka.robinluo.top\nspring.cloud.gateway.routes&#91;1].uri=http:\/\/localhost:8765\nspring.cloud.gateway.routes&#91;1].order=10000\n<\/code><\/pre>\n\n\n\n<p>order \u8d8a\u5c0f \u4f18\u5148\u7ea7\u8d8a\u5927<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>predicates \u8bed\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>After=2018-01-20T06:06:06+08:00&#91;Asia\/Shanghai]<\/code><\/pre>\n\n\n\n<p>\u8bf7\u6c42\u65f6\u95f4\u8fc7\u6ee4 \u4e4b\u540e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Before=2018-01-20T06:06:06+08:00&#91;Asia\/Shanghai]<\/code><\/pre>\n\n\n\n<p>\u8bf7\u6c42\u65f6\u95f4\u8fc7\u6ee4 \u4e4b\u524d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Between=2018-01-20T06:06:06+08:00&#91;Asia\/Shanghai], 2019-01-20T06:06:06+08:00&#91;Asia\/Shanghai]<\/code><\/pre>\n\n\n\n<p>\u8bf7\u6c42\u65f6\u95f4\u4e4b\u95f4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Cookie=ityouknow, kee.e<\/code><\/pre>\n\n\n\n<p>cookie \u5339\u914d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Header=X-Request-Id, \\d+<\/code><\/pre>\n\n\n\n<p>header \u5339\u914d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Host=**.ityouknow.com<\/code><\/pre>\n\n\n\n<p>\u57df\u540d\u5339\u914d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Method=GET<\/code><\/pre>\n\n\n\n<p>\u8bf7\u6c42\u65b9\u5f0f\u5339\u914d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Path=\/foo\/{segment}<\/code><\/pre>\n\n\n\n<p>\u8bbf\u95ee\u8def\u5f84\u5339\u914d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Query=smile<\/code><\/pre>\n\n\n\n<p>\u8bf7\u6c42\u53c2\u6570\u5339\u914d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RemoteAddr=192.168.1.1\/24<\/code><\/pre>\n\n\n\n<p>ip\u5730\u5740\u5339\u914d<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4ee3\u7801\u5206\u6790<\/p>\n\n\n\n<p>\u6240\u6709predicate \u90fd\u662f\u7ee7\u627f\u81eaorg.springframework.cloud.gateway.handler.predicate.RoutePredicateFactory \u63a5\u53e3\u7684\u5b9e\u73b0\u7c7b<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>After = AfterRoutePredicateFactory<\/p>\n\n\n\n<p>Before = BeforeRoutePredicateFactory<\/p>\n\n\n\n<p>Between = BetweenRoutePredicateFactory<\/p>\n\n\n\n<p>Cookie = CookieRoutePredicateFactory<\/p>\n\n\n\n<p>Header = HeaderRoutePredicateFactory<\/p>\n\n\n\n<p>Host = HostRoutePredicateFactory<\/p>\n\n\n\n<p>Method = MethodRoutePredicateFactory<\/p>\n\n\n\n<p>Path = PathRoutePredicateFactory<\/p>\n\n\n\n<p>ReadBody = ReadBodyRoutePredicateFactory<\/p>\n\n\n\n<p>Query = QueryRoutePredicateFactory<\/p>\n\n\n\n<p>RemoteAddr = RemoteAddrRoutePredicateFactory<\/p>\n\n\n\n<p>Weight = WeightRoutePredicateFactory<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>PredicateSpec \u6709\u6240\u6709\u914d\u7f6e\u8bed\u6cd5<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>spring cloud gateway \u662f\u5fae\u670d\u52a1\u5e38\u7528\u7f51\u5173 \u7f51\u5173\u8f6c\u53d1\u8bed\u6cd5 application.properties order \u8d8a\u5c0f \u4f18\u5148\u7ea7\u8d8a\u5927 predicates \u8bed\u6cd5\uff1a \u8bf7\u6c42\u65f6\u95f4\u8fc7\u6ee4 \u4e4b\u540e \u8bf7\u6c42\u65f6\u95f4\u8fc7\u6ee4 \u4e4b\u524d \u8bf7\u6c42\u65f6\u95f4\u4e4b\u95f4 cookie \u5339\u914d header \u5339\u914d \u57df\u540d\u5339\u914d \u8bf7\u6c42\u65b9\u5f0f\u5339\u914d \u8bbf\u95ee\u8def\u5f84\u5339\u914d \u8bf7\u6c42\u53c2\u6570\u5339\u914d ip\u5730\u5740\u5339\u914d \u4ee3\u7801\u5206\u6790 \u6240\u6709predicate \u90fd\u662f\u7ee7\u627f\u81eaorg.springframework.cloud.gateway.handler.predicate.RoutePredicateFactory \u63a5\u53e3\u7684\u5b9e\u73b0\u7c7b After = AfterRoutePredicateFactory Before = BeforeRoutePredicateFactory Between = BetweenRoutePredicateFactory Cookie = CookieRoutePredicateFactory Header = HeaderRoutePredicateFactory Host = HostRoutePredicateFactory Method = MethodRoutePredicateFactory Path = PathRoutePredicateFactory ReadBody = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[85,100],"_links":{"self":[{"href":"https:\/\/robinluo.top\/index.php?rest_route=\/wp\/v2\/posts\/597"}],"collection":[{"href":"https:\/\/robinluo.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robinluo.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robinluo.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robinluo.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=597"}],"version-history":[{"count":6,"href":"https:\/\/robinluo.top\/index.php?rest_route=\/wp\/v2\/posts\/597\/revisions"}],"predecessor-version":[{"id":603,"href":"https:\/\/robinluo.top\/index.php?rest_route=\/wp\/v2\/posts\/597\/revisions\/603"}],"wp:attachment":[{"href":"https:\/\/robinluo.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robinluo.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robinluo.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}