Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Bu konuda, mesajlaşma ve bağlantı davranışını kontrol etmek için TargetEndpoint ve ProxyEndpoint yapılandırmalarında ayarlanabilen aktarım özellikleri açıklanmaktadır. TargetEndpoint ve ProxyEndpoint yapılandırmasının tam kapsamı için API proxy yapılandırması referansı bölümüne bakın.
TargetEndpoint aktarım özellikleri
TargetEndpoint yapılandırmalarındaki HTTPTargetConnection öğesi bir grup HTTP taşıma özelliğini tanımlar. Taşıma düzeyinde yapılandırmaları ayarlamak için bu özellikleri kullanabilirsiniz.
Özellikler, TargetEndpoint HTTPTargetConnection öğeleri için aşağıda gösterildiği gibi ayarlanır:
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> <Properties> <Property name="supports.http10">true</Property> <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property> <Property name="retain.queryparams">apikey</Property> </Properties> <CommonName>COMMON_NAME_HERE</CommonName> </HTTPTargetConnection> </TargetEndpoint>
TargetEndpoint aktarım mülkü spesifikasyonu
Mülk Adı | Varsayılan Değer | Açıklama |
---|---|---|
keepalive.timeout.millis |
60000 |
Bağlantı havuzunda hedef bağlantı için bağlantı boşta kalma zaman aşımı. Havuzdaki bağlantı boşta olarak belirtilen sınırın üzerindeyse bağlantı kapatılır. |
connect.timeout.millis |
|
Hedef bağlantı zaman aşımı. Bağlantı zaman aşımı oluşursa Edge, HTTP |
io.timeout.millis |
55000 |
Belirtilen milisaniye süresince okunacak veri yoksa veya yuva, belirtilen milisaniye süresince veri yazmaya hazır değilse işlem zaman aşımı olarak değerlendirilir.
Bu değer her zaman sanal ana makinenin proxy_read_timeout özelliğinin değerinden küçük olmalıdır. Bu değer, Yönlendirici tarafından Mesaj İşleyici ile iletişim kurmak için kullanılan zaman aşımından kısa olmalıdır. Daha fazla bilgi için Yönlendirici zaman aşımını yapılandırma bölümüne bakın. Daha fazla bilgi için Edge için io.timeout.millis ve api.timeout'u ayarlama bölümüne bakın. |
supports.http10 |
true |
Bu true ise ve istemci bir 1.0 isteği gönderirse hedefe de bir 1.0 isteği gönderilir. Aksi takdirde 1.1 isteği hedefe gönderilir. |
supports.http11 |
true |
Bu true ise ve istemci bir 1.1 isteği gönderirse hedefe de bir 1.1 isteği gönderilir. Aksi takdirde, hedefe 1.0 isteği gönderilir. |
use.proxy |
true |
true olarak ayarlanırsa ve http.properties politikasında proxy yapılandırmaları belirtilirse (yalnızca şirket içi dağıtımlar) hedef bağlantılar belirtilen proxy'yi kullanacak şekilde ayarlanır. |
use.proxy.tunneling |
true |
Bu değer true olarak ayarlanırsa ve proxy yapılandırmaları http.properties politikasında belirtilirse (yalnızca şirket içi dağıtımlar) hedef bağlantılar belirtilen tüneli kullanacak şekilde ayarlanır. Hedef TLS/SSL kullanıyorsa bu özellik yoksayılır ve mesaj her zaman bir tünel aracılığıyla gönderilir. |
enable.method.override |
false |
Belirtilen HTTP yöntemi için, hedef hizmete giden istekte bir X-HTTP-Method-Override üst bilgisi ayarlar. Örneğin, <Property
name="GET.override.method">POST</Property> |
*.override.method |
Yok | Belirtilen HTTP yöntemi için giden istekte bir X-HTTP-Method-Override üst bilgisi ayarlar. Örneğin, <Property
name="GET.override.method">POST</Property> |
request.streaming.enabled |
false |
Varsayılan olarak ( |
response.streaming.enabled |
false |
Varsayılan olarak ( |
success.codes |
Yok |
Varsayılan olarak Apigee Edge, Bu özellik ayarlandığında, varsayılan değerlerin üzerine yazılır. Bu nedenle, <Mülk name="success.codes">1XX,2XX,3XX,400</Mülk> Yalnızca <property name="success.codes">400</Mülk>
|
compression.algorithm |
Yok |
Varsayılan olarak Apigee Edge, istemci isteğiyle aynı sıkıştırma türünü kullanarak istekleri hedefe yönlendirir. İstek, istemciden gzip sıkıştırma gibi bir yöntemle alınırsa, Apigee Edge gzip sıkıştırması kullanarak bu isteği hedeflemeye yönlendirir. Hedeften alınan yanıt "deflate" kullanırsa Apigee Edge deflate'i kullanarak yanıtı istemciye yönlendirir. Desteklenen değerler:
Şu makaleyi de inceleyebilirsiniz: Apigee, GZIP/deflate sıkıştırmayı kullanarak sıkıştırmayı/sıkıştırmayı açar mı? |
request.retain.headers. |
true |
Varsayılan olarak Apigee Edge, giden iletilerdeki tüm HTTP üstbilgilerini saklar. true olarak ayarlandığında, gelen istekte mevcut olan tüm HTTP üstbilgileri, giden istekte ayarlanır. |
request.retain.headers |
Yok | Hedef hizmete giden istekte ayarlanması gereken istekteki belirli HTTP üst bilgilerini tanımlar. Örneğin, User-Agent üstbilgisinde posta geçişini yapmak için request.retain.headers değerini User-Agent olarak ayarlayın.
Birden fazla HTTP üst bilgisi virgülle ayrılmış liste olarak belirtilir, örneğin User-Agent,Referer,Accept-Language . Bu özellik request.retain.headers.enabled özelliğini geçersiz kılar. request.retain.headers.enabled değeri false olarak ayarlanırsa request.retain.headers özelliğinde belirtilen tüm üst bilgiler giden mesajda da ayarlanmış olur. |
response.retain.headers. |
true |
Varsayılan olarak Apigee Edge, giden iletilerdeki tüm HTTP üstbilgilerini saklar. true olarak ayarlandığında, hedef hizmetten gelen yanıtta bulunan tüm HTTP üstbilgileri, ProxyEndpoint'e iletilmeden önce giden yanıtta ayarlanır. |
response.retain.headers |
Yok | ProxyEndpoint'e iletilmeden önce giden yanıtta ayarlanması gereken yanıttaki belirli HTTP üst bilgilerini tanımlar. Örneğin, Expires üstbilgisinde geçişi yapmak için response.retain.headers değerini Expires olarak ayarlayın. Birden çok HTTP üst bilgisi virgülle ayrılmış liste olarak belirtilir, örneğin Expires,Set-Cookie . Bu özellik response.retain.headers.enabled özelliğini geçersiz kılar. response.retain.headers.enabled , false değerine ayarlanırsa response.retain.headers özelliğinde belirtilen tüm üst bilgiler giden mesajda da ayarlanmış olur. |
retain.queryparams. |
true |
Varsayılan olarak Apigee Edge, giden isteklerdeki tüm sorgu parametrelerini her zaman saklar. true olarak ayarlandığında, gelen istekte bulunan tüm sorgu parametreleri hedef hizmete giden istekte ayarlanır. |
retain.queryparams |
Yok | Giden istekte ayarlanacak belirli sorgu parametrelerini tanımlar. Örneğin, istek mesajından apikey sorgu parametresini eklemek için retain.queryparams değerini apikey olarak ayarlayın. Birden fazla sorgu parametresi, virgülle ayrılmış liste olarak belirtilir (örneğin, apikey,environment ). Bu özellik, retain.queryparams.enabled özelliğini geçersiz kılar. |
ProxyEndpoint aktarım özellikleri
ProxyEndpoint HTTPTargetConnection öğeleri bir grup HTTP aktarım özelliğini tanımlar. Bu özellikler, taşıma düzeyinde yapılandırmaları ayarlamak için kullanılabilir.
Özellikler, ProxyEndpoint HTTPProxyConnection öğelerinde aşağıdaki gibi ayarlanır:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <Property name="request.streaming.enabled">true</Property> </Properties> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> </ProxyEndpoint>
Sanal ana makineler hakkında daha fazla bilgi için Sanal ana makineler hakkında başlıklı makaleyi inceleyin.
ProxyEndpoint aktarım mülkü özellikleri
Mülk Adı | Varsayılan Değer | Açıklama |
---|---|---|
X-Forwarded-For |
false |
true olarak ayarlandığında, sanal ana makinenin IP adresi, giden isteğe HTTP X-Forwarded-For üst bilgisinin değeri olarak eklenir. |
request.streaming. |
false |
Varsayılan olarak (false ), HTTP istek yükleri bir arabelleğe okunur ve yük üzerinde çalışabilen politikalar beklendiği gibi çalışır. Yüklerin arabellek boyutundan (10 MB) daha büyük olduğu durumlarda bu özelliği true olarak ayarlayabilirsiniz. true olduğunda HTTP istek yükleri bir arabelleğe okunmaz; TargetEndpoint istek akışına olduğu gibi aktarılır. Bu durumda ProxyEndpoint istek akışındaki yük üzerinde çalışan tüm politikalar atlanır. Ayrıca, İstek ve yanıtları akış şeklinde gösterme konusuna da göz atın. |
response.streaming. |
false |
Varsayılan olarak (false ), HTTP yanıt yükleri bir arabelleğe okunur ve yük üzerinde çalışabilen politikalar beklendiği gibi çalışır. Yüklerin arabellek boyutundan (10 MB) daha büyük olduğu durumlarda bu özelliği true olarak ayarlayabilirsiniz. true kullanıldığında HTTP yanıt yükleri bir arabelleğe okunmaz, istemciye olduğu gibi aktarılır. Bu durumda ProxyEndpoint yanıt akışındaki yük üzerinde çalışan tüm politikalar atlanır. Ayrıca, İstek ve yanıtları akış şeklinde gösterme konusuna da göz atın. |
compression.algorithm |
Yok |
Varsayılan olarak Apigee Edge, alınan herhangi bir mesaj için ayarlanan sıkıştırma türünü kullanır. Örneğin, bir istemci gzip sıkıştırma kullanan bir istek gönderdiğinde Apigee Edge, bu isteği gzip sıkıştırma yöntemini kullanarak hedeflemeye yönlendirir. Bu özelliği TargetEndpoint veya ProxyEndpoint'te ayarlayarak sıkıştırma algoritmalarını açıkça uygulanacak şekilde yapılandırabilirsiniz. Desteklenen değerler:
Şu makaleyi de inceleyebilirsiniz: Apigee, GZIP/deflate sıkıştırmayı kullanarak sıkıştırmayı/sıkıştırmayı açar mı? |
api.timeout |
Yok |
Bağımsız API proxy'leri için zaman aşımını yapılandırma Akış etkinleştirilmiş olsa bile, API proxy'lerini yapılandırarak belirli bir süre geçtikten sonra
Bu özelliği bir değişkenle ayarlayamazsınız. Edge zaman aşımlarını değiştiremeyen müşteriler, zaman aşımı süresi 57 saniyelik standart Edge mesaj işlemci zaman aşımından daha kısa olduğu sürece API proxy zaman aşımı süresi de yapılandırabilir. Daha fazla bilgi için Edge için io.timeout.millis ve api.timeout'u ayarlama bölümüne bakın. |
Edge için io.timeout.millis ve api.timeout'u ayarlama
Edge'de io.timeout.millis
ve api.timeout
işlemleri birbiriyle ilişkilidir.
Bir API proxy'sine yapılan her istekte:
- Yönlendirici, zaman aşımı değerini Mesaj İşleyici'ye gönderir. Yönlendirici zaman aşımı değeri, isteği işleyen sanal ana makine tarafından ayarlanan
proxy_read_timeout
değeri veya 57 saniye olan varsayılan zaman aşımı değeridir. - Mesaj İşleyici daha sonra
api.timeout
özelliğini ayarlar:api.timeout
, proxy düzeyinde ayarlanmadıysa bunu, Yönlendirici zaman aşımı olarak ayarlayın.api.timeout
, proxy düzeyinde ayarlanırsa Mesaj İşleyici'de bunu, Yönlendirici zaman aşımı süresinden daha kısa bir süreye veyaapi.timeout
değerine ayarlayın.
api.timeout
değeri, bir API proxy'sinin API isteğinden yanıta kadar yürütmesi gereken maksimum süreyi belirtir.API proxy'sindeki her politika yürütüldükten sonra veya Mesaj İşleyici, isteği hedef uç noktaya göndermeden önce Mesaj İşleyici şunları hesaplar (
api.timeout
, isteğin başlangıcından itibaren geçen süre). Değer sıfırdan küçükse isteği işlemek için maksimum süre sona ermiş ve Mesaj İşleyici504
değerini döndürür.io.timeout.millis
değeri, hedef uç noktanın yanıt vermesi için gereken maksimum süreyi belirtir.Mesaj İşleyici, bir hedef uç noktaya bağlanmadan önce (
api.timeout
- isteğin başlangıcından itibaren geçen süre) veio.timeout.millis
değerinden düşük olanı belirler. Daha sonraio.timeout.millis
öğesini bu değere ayarlar.- HTTP isteği yazılırken zaman aşımı olursa
408, Request Timeout
döndürülür. - HTTP yanıtı okunurken zaman aşımı olursa
504, Gateway Timeout
döndürülür.
- HTTP isteği yazılırken zaman aşımı olursa
Node.js uygulamaları için ScriptTarget hakkında
ScriptTarget öğesi, proxy'nize Node.js uygulamasını entegre etmek için kullanılır. Node.js ve ScriptTarget kullanımı hakkında bilgi için bkz.
BarındırılanTarget uç noktaları hakkında
Boş bir <HostedTarget/>
etiketi, Edge'e, Barındırılan Hedefler ortamına dağıtılan bir Node.js uygulamasını hedef olarak kullanmasını bildirir. Ayrıntılar için Barındırılan Hedeflere genel bakış sayfasını inceleyin.