Hello, I have a use case where my ATS edge cache is deployed under kubernetes cluster A while its parent cache (i.e. ATS mid cache) is deployed inside a kubernetes cluster B. Cluster B has a front end of ingress controller (type nginx) that serves an ingress resource (Ingress kubernetes object) that routes requests destinated to vcache-mid-1.cdn.lab into the proper ATS deployment pod where traffic_manager is running.
My ATS edge cache is able to receive user requests. However, it gets 404 (page not found) when forwarding the request to the patent cache. Please find below my remap.conf and parent.conf of the edge cache: remap.conf: ----------------- map http://vcache-edge-1.cdn.lab:31695/myCI/ http://{cache} map http://vcache-edge-1.cdn.lab:31695/ http://originserver.cdn.lab:8080/ reverse_map http://originserver.cdn.lab:8080/ http://vcache-edge-1.cdn.lab:31695/ parent.conf: ----------------- dest_domain=. parent="vcache-mid-1.cdn.lab:31695" I think this may be related to a more general question: how does ATS forward the request to a parent cache that is behind a loadbalancer i.e. nginx with a virtual host (e.g. of vcache-mid-1.cdn.lab) ? I think that if Host: header would contain parent hostname, then it would work. Please find below edge cache logs from traffic.out file: ... [Jun 25 14:19:27.052] Server {0x2b33b0df7700} DEBUG: (http_seq) [HttpSM::do_remap_request] Remapping request [Jun 25 14:19:27.052] Server {0x2b33b0df7700} DEBUG: (http_trans) START HttpTransact::EndRemapRequest [Jun 25 14:19:27.052] Server {0x2b33b0df7700} DEBUG: (http_trans) EndRemapRequest host is originserver.cdn.lab ... +++++++++ Incoming Request +++++++++ -- State Machine Id: 119 GET http://originserver.cdn.lab:8080/player.html HTTP/1.1^M Host: vcache-edge-1.cdn.lab:31695^M X-Request-ID: 110fe9e2b1e8ba555c6b962d5b65b970^M X-Real-IP: 10.244.0.0^M X-Forwarded-For: 10.244.0.0^M X-Forwarded-Host: vcache-edge-1.cdn.lab:31695^M X-Forwarded-Port: 80^M X-Forwarded-Proto: http^M X-Scheme: http^M User-Agent: curl/7.58.0^M Accept: */*^M ^M ... [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (dns) received query vcache-mid-1.cdn.lab type = 1, timeout = 0 [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) [ink_cluster_time] local: 1593094767, highest_delta: 0, cluster: 1593094767 [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) [HttpTransact::PPDNSLookup] This was attempt 1 [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) [PPDNSLookup] DNS lookup for sm_id[119] successful IP: 172.15.0.170 [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) client_ip_set = 0 [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) inserted request header 'Client-ip: 10.244.1.23' [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) [add_client_ip_to_outgoing_request] Appended connecting client's (10.244.1.23) to the X-Forwards header [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) [build_request] request like cacheable and conditional headers removed [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) [ink_cluster_time] local: 1593094767, highest_delta: 0, cluster: 1593094767 [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) [build_request] request_sent_time: 1593094767 +++++++++ Proxy's Request +++++++++ -- State Machine Id: 119 GET http://originserver.cdn.lab:8080/player.html HTTP/1.1^M Host: vcache-edge-1.cdn.lab:31695^M X-Request-ID: 110fe9e2b1e8ba555c6b962d5b65b970^M X-Real-IP: 10.244.0.0^M X-Forwarded-For: 10.244.0.0, 10.244.1.23^M X-Forwarded-Host: vcache-edge-1.cdn.lab:31695^M X-Forwarded-Port: 80^M X-Forwarded-Proto: http^M X-Scheme: http^M User-Agent: curl/7.58.0^M Accept: */*^M Client-ip: 10.244.1.23^M Via: http/1.1 aafb240ac1ca[0AF402FE] (ApacheTrafficServer/5.3.1)^M ^M ... [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) [119] State Transition: SM_ACTION_DNS_LOOKUP -> SM_ACTION_CACHE_ISSUE_WRITE [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_cache_write) [119] writing to cache with URL http://vcache-edge-1.cdn.lab:31695/player.html [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_cache) [119] [&HttpCacheSM::state_cache_open_write, CACHE_EVENT_OPEN_WRITE] [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) [119] [HttpSM::main_handler, CACHE_EVENT_OPEN_WRITE] [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) [119] [&HttpSM : state_cache_open_write, CACHE_EVENT_OPEN_WRITE] [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_trans) Next action next; __null [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) [119] State Transition: SM_ACTION_CACHE_ISSUE_WRITE -> SM_ACTION_ORIGIN_SERVER_OPEN [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_track) entered inside do_http_server_open ][IPv4] [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) [119] open connection to vcache-mid-1.cdn.lab: 172.15.0.170:31695 [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_seq) [HttpSM::do_http_server_open] Sending request to server [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) calling netProcessor.connect_re [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) [119] [HttpSM::main_handler, NET_EVENT_OPEN] [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_track) entered inside state_http_server_open [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http) [119] [&HttpSM::state_http_server_open, NET_EVENT_OPEN] [Jun 25 14:19:27.053] Server {0x2b33b0df7700} DEBUG: (http_ss) [117] session born, netvc 0x2b33cc015df0 +++++++++ Proxy's Request after hooks +++++++++ -- State Machine Id: 119 GET http://originserver.cdn.lab:8080/player.html HTTP/1.1^M Host: vcache-edge-1.cdn.lab:31695^M X-Request-ID: 110fe9e2b1e8ba555c6b962d5b65b970^M X-Real-IP: 10.244.0.0^M X-Forwarded-For: 10.244.0.0, 10.244.1.23^M X-Forwarded-Host: vcache-edge-1.cdn.lab:31695^M X-Forwarded-Port: 80^M X-Forwarded-Proto: http^M X-Scheme: http^M User-Agent: curl/7.58.0^M Accept: */*^M Client-ip: 10.244.1.23^M Via: http/1.1 aafb240ac1ca[0AF402FE] (ApacheTrafficServer/5.3.1)^M ^M ... [Jun 25 14:19:27.054] Server {0x2b33ae02cac0} DEBUG: (dns) SUCCESS result for vcache-mid-1.cdn.lab = 172.15.0.170 retry 0 [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (dns) called back continuation for vcache-mid-1.cdn.lab [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http) [119] [HttpSM::main_handler, VC_EVENT_READ_READY] [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http) [119] [&HttpSM::state_read_server_response_header, VC_EVENT_READ_READY] [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http_seq) Done parsing server response header [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http_redirect) [HttpTunnel::deallocate_postdata_copy_buffers] [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http_trans) [HttpTransact::HandleResponse] [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http_seq) [HttpTransact::HandleResponse] Response received [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http_trans) [ink_cluster_time] local: 1593094767, highest_delta: 0, cluster: 1593094767 [Jun 25 14:19:27.054] Server {0x2b33b0df7700} DEBUG: (http_trans) [HandleResponse] response_received_time: 1593094767 +++++++++ Incoming O.S. Response +++++++++ -- State Machine Id: 119 HTTP/1.1 404 Not Found^M Server: nginx/1.19.0^M Date: Thu, 25 Jun 2020 14:19:27 GMT^M Content-Type: text/html^M Content-Length: 153^M Connection: keep-alive^M ^M Thanks, - Avi Weit