2016-08-02 40 views
0

Ich habe einen Dienst in PHP. Ein Endpunkt ruft einen anderen Endpunkt in diesem Dienst auf. Für den Anschluss benutze ich eine Fresse. Der vom ersten zum zweiten Endpunkt gesendete Inhalt sollte application/json sein. Am Docker funktioniert es richtig, aber wenn ich auf Kubernetes, in Protokollen bereitstellen sehe ich, dass Anfrage Inhalt ist Anwendung/x-www-Form-urlencoded. Auch wenn Inhaltstyp fest einprogrammiert ist:Kubernetes ändert Inhaltstyp

private function getPostRequestOptions($postData) : array 
{ 
    return [ 
     'headers' => [ 
      'Content-Type' => 'application/json', 
      'Request-ID' => $this->requestId 
     ], 
     'body' => json_encode($postData), 
     'connect_timeout' => static::CONNECT_TIMEOUT, 
     'timeout' => static::TIMEOUT, 
     'http_errors' => true, 
    ]; 
} 

public function sendPost(string $path, $postData): \stdClass 
{ 
    return $this->executeRequest(
     'POST', 
     $this->getFullUrl($path), 
     $this->getPostRequestOptions(
      $postData 
     ) 
    ); 
} 

Hat jemand eine Ahnung, warum es so passiert?

+0

Wie verbinden Sie die beiden Anwendungen? Verwenden Sie Pod-IP-Adressen? Kubernetes Dienstleistungen? Der Proxy im Apiserver? Ich würde erwarten, dass nur der letzte Einfluss auf die HTTP-Header hat (da es sich um einen HTTP-Proxy handelt). Die ersten beiden sind L3-Verbindungen und sollten Ihren anwendungsspezifischen Inhalt nicht beeinträchtigen. –

Antwort

0

Das Problem war die Überwachung der Dynatrace für PHP 7. Neue Version des Plugins gestoppt Schneiden Header.