Gui discover this one testing with APICast 2.7 version.
Config:
{ "services": [ { "id": 3, "account_id": 2, "name": "Coding", "oneline_description": null, "description": "", "txt_api": null, "txt_support": null, "txt_features": null, "created_at": "2019-11-07T13:10:49Z", "updated_at": "2019-11-07T14:24:10Z", "logo_file_name": null, "logo_content_type": null, "logo_file_size": null, "state": "incomplete", "intentions_required": false, "draft_name": "", "infobar": null, "terms": null, "display_provider_keys": false, "credit_card_support_email": null, "buyers_manage_apps": true, "buyers_manage_keys": true, "custom_keys_enabled": true, "buyer_plan_change_permission": "request", "buyer_can_select_plan": false, "notification_settings": null, "default_application_plan_id": null, "default_service_plan_id": null, "default_end_user_plan_id": null, "end_user_registration_required": true, "tenant_id": 2, "system_name": "coding", "backend_version": "1", "mandatory_app_key": true, "buyer_key_regenerate_enabled": true, "support_email": "admin@3scale.27cr1.apps.devel-ocp-41-ga.3sca.net", "referrer_filters_required": false, "deployment_option": "hosted", "kubernetes_service_link": null, "tech_support_email": null, "admin_support_email": null, "act_as_product": 0, "proxiable?": true, "backend_authentication_type": "service_token", "backend_authentication_value": "acb2bd816c3cd35c0868686e38bebbcd84eca2087c0cd6761ba058c17f6e40bc", "proxy": { "id": 3, "tenant_id": 2, "service_id": 3, "endpoint": "https://coding-3scale-apicast-production.27cr1.apps.devel-ocp-41-ga.3sca.net:443", "deployed_at": null, "auth_app_key": "app_key", "auth_app_id": "app_id", "auth_user_key": "user_key", "credentials_location": "query", "error_auth_failed": "Authentication failed", "error_auth_missing": "Authentication parameters missing", "created_at": "2019-11-07T13:10:49Z", "updated_at": "2019-11-07T14:24:10Z", "error_status_auth_failed": 403, "error_headers_auth_failed": "text/plain; charset=us-ascii", "error_status_auth_missing": 403, "error_headers_auth_missing": "text/plain; charset=us-ascii", "error_no_match": "No Mapping Rule matched", "error_status_no_match": 404, "error_headers_no_match": "text/plain; charset=us-ascii", "secret_token": "Shared_secret_sent_from_proxy_to_API_backend_b30f54dd0aae20ab", "hostname_rewrite": null, "oauth_login_url": null, "sandbox_endpoint": "https://coding-3scale-apicast-staging.27cr1.apps.devel-ocp-41-ga.3sca.net:443", "api_test_path": "/", "api_test_success": null, "apicast_configuration_driven": true, "oidc_issuer_endpoint": null, "lock_version": 0, "authentication_method": "1", "oidc_issuer_type": "keycloak", "error_headers_limits_exceeded": "text/plain; charset=us-ascii", "error_status_limits_exceeded": 429, "error_limits_exceeded": "Usage limit exceeded", "staging_domain": "coding-3scale-apicast-staging.27cr1.apps.devel-ocp-41-ga.3sca.net", "production_domain": "coding-3scale-apicast-production.27cr1.apps.devel-ocp-41-ga.3sca.net", "api_backend": null, "hostname_rewrite_for_sandbox": "api.github.com", "endpoint_port": 443, "valid?": true, "service_backend_version": "1", "hosts": [ "coding-3scale-apicast-production.27cr1.apps.devel-ocp-41-ga.3sca.net", "coding-3scale-apicast-staging.27cr1.apps.devel-ocp-41-ga.3sca.net", "eloy" ], "backend": { "endpoint": "https://backend-3scale.27cr1.apps.devel-ocp-41-ga.3sca.net", "host": "backend-3scale.27cr1.apps.devel-ocp-41-ga.3sca.net" }, "policy_chain": [ { "name": "routing", "version": "builtin", "enabled": true, "configuration": { "rules": [ { "url": "https://ipinfo.io:443", "owner_id": 4, "owner_type": "BackendApi", "condition": { "operations": [ { "match": "path", "op": "matches", "value": "/ip/.*|/ip/?" } ] }, "replace_path": "{{original_request.path | remove_first: '/ip'}}" }, { "url": "https://api.github.com:443", "owner_id": 3, "owner_type": "BackendApi", "condition": { "operations": [ { "match": "path", "op": "matches", "value": "/gh/.*|/gh/?" } ] }, "replace_path": "{{original_request.path | remove_first: '/gh'}}" } ] } }, { "name": "apicast", "version": "builtin", "configuration": {} } ], "jwt_claim_with_client_id": null, "jwt_claim_with_client_id_type": null, "proxy_rules": [ { "id": 3, "proxy_id": null, "http_method": "GET", "pattern": "/gh/users/", "metric_id": 8, "metric_system_name": "hits.3", "delta": 1, "tenant_id": null, "created_at": "2019-11-07T12:03:23Z", "updated_at": "2019-11-07T14:23:59Z", "redirect_url": null, "position": 1, "last": false, "owner_id": 3, "owner_type": "BackendApi" }, { "id": 4, "proxy_id": null, "http_method": "GET", "pattern": "/ip", "metric_id": 9, "metric_system_name": "hits.4", "delta": 1, "tenant_id": null, "created_at": "2019-11-07T13:10:09Z", "updated_at": "2019-11-07T14:24:09Z", "redirect_url": null, "position": 1, "last": false, "owner_id": 4, "owner_type": "BackendApi" } ] } } ]}
Error
2019/11/07 14:27:23 [error] 24#24: *1351 lua entry thread aborted: runtime error: /opt/app-root/src/lua_modules/share/lua/5.1/resty/url.lua:26: bad argument #1 to 'find' (string expected, got userdata) stack traceback: coroutine 0: [C]: in function 'find' /opt/app-root/src/lua_modules/share/lua/5.1/resty/url.lua:26: in function 'scheme' /opt/app-root/src/lua_modules/share/lua/5.1/resty/url.lua:104: in function 'split' /opt/app-root/src/src/resty/url_helper.lua:26: in function 'parse_url' /opt/app-root/src/src/apicast/upstream.lua:37: in function 'new' /opt/app-root/src/src/apicast/proxy.lua:191: in function 'get_upstream' /opt/app-root/src/src/apicast/policy/apicast/apicast.lua:63: in function </opt/app-root/src/src/apicast/policy/apicast/apicast.lua:35> /opt/app-root/src/src/apicast/policy_chain.lua:200: in function 'rewrite' ...-root/src/src/apicast/policy/local_chain/local_chain.lua:59: in function <...-root/src/src/apicast/policy/local_chain/local_chain.lua:54> /opt/app-root/src/src/apicast/policy_chain.lua:200: in function 'rewrite' rewrite_by_lua(lua_FIrexJ:525):3: in main chunk, client: 10.131.3.195, server: _, request: "GET /ip/?user_key=6827a93684cea5fcec6ce0c3eb1704f0 HTTP/1.1", host: "coding-3scale-apicast-staging.27cr1.apps.devel-ocp-41-ga.3sca.net" [07/Nov/2019:14:27:23 +0000] coding-3scale-apicast-staging.27cr1.apps.devel-ocp-41-ga.3sca.net:8080 10.131.3.195:37250 "GET /ip/?user_key=6827a93684cea5fcec6ce0c3eb1704f0 HTTP/1.1" 500 174 (0.044) 0