配置代理程式透過轉遞 Proxy 進行通訊

如果您的防火牆規則不允許外部主機的透通出埠 HTTPS 連線,則可以將 IBM® 監視代理程式配置為將資料流量傳送至轉遞 Proxy。 編輯 KDH_FORWARDPROXY 環境變數以將代理程式配置為透過轉遞 Proxy 通訊。

開始之前

若要判定您的代理程式所連接的 Cloud APM 資料中心的 IP 位址,請參閱資料中心 IP 位址 (APM Developer Center). 然後,調整防火牆規則以容許將要求從您的轉遞 Proxy 傳送至這些 IP 位址。

您可以使用 openssl 指令來檢查您代理程式安裝所在的電腦系統是否具有 Cloud APM 資料中心伺服器的連線。 您也可以使用 openssl 指令來檢查您的網路是否支援 Cloud APM 所使用的密碼組合。 如果 openssl 指令結果指出該電腦系統無法連接,則您可能需要設定轉遞 Proxy。 如果指令結果指出無法取得 Cloud APM 伺服器 憑證,則與您的網路團隊協助來確定所需密碼組合不受支援的原因。 如需 Cloud APM 所使用的密碼組合清單,請參閱安全通訊

執行 openssl 指令,如下列範例所示:
echo quit | openssl s_client
-state -connect <domain-name>:443
-tls1_2 -cipher
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384

其中,domain-name 是 your Cloud APM 訂閱的網域名稱(例如:8b68ba1b9.agents.na.apm.ibmserviceengage.com)。

若要判定訂閱的網域名稱,請完成下列步驟:
  1. 在文字編輯器中開啟代理程式環境配置檔:

    Linux 或 AIX/opt/ibm/apm/agent/config/global.environment

    Windows針對 64 位元 Windows 系統使用 install_dir\TMAITM6_x64\KpcENV,針對32 位元 Windows 系統使用 install_dir\TMAITM6\KpcENV,其中 pc 是代理程式產品型號。

    如需產品型號的清單,請參閱使用代理程式指令

  2. 尋找 IRA_ASF_SERVER_URL 變數。 該值的格式如下:https://domain-name/ccm/asf/request。 將該值的網域名稱部分用於 openssl 指令。

如果順利連線,則會顯示類似下列範例的訊息:
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=2 C = US, O = IBM Service Engage,
CN = ca_ec_384.ibmserviceengage.com
verify error:num=19:self signed certificate in certificate chain
verify return:0
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server certificate request A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client certificate A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A
---
Certificate chain
0 s:/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=*.agents.na.apm.ibmserviceengage.com
i:/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN =ca_ec_384.apm.ibmserviceengage.com
1 s:/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=ca_ec_384.apm.ibmserviceengage.com
i:/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
2 s:/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
i:/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
---
Server certificate
-----BEGIN CERTIFICATE-----
MIICkjCCAhegAwIBAgIIXlr284nLPaMwDAYIKoZIzj0EAwMFADCBhDELMAkGA1UE
BgwCVVMxGzAZBgNVBAoMEklCTSBTZXJ2aWNlIEVuZ2FnZTErMCkGA1UECwwiQXBw
bGljYXRpb24gUGVyZm9ybWFuY2UgTWFuYWdlbWVudDErMCkGA1UEAwwiY2FfZWNf
Mzg0LmFwbS5pYm1zZXJ2aWNlZW5nYWdlLmNvbTAeFw0xMzEyMDIxNjM2MDlaFw0y
MzEyMDExNjM2MDlaMIGGMQswCQYDVQQGDAJVUzEbMBkGA1UECgwSSUJNIFNlcnZp
Y2UgRW5nYWdlMSswKQYDVQQLDCJBcHBsaWNhdGlvbiBQZXJmb3JtYW5jZSBNYW5h
Z2VtZW50MS0wKwYDVQQDDCQqLmFnZW50cy5uYS5hcG0uaWJtc2VydmljZWVuZ2Fn
ZS5jb20wdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQmrGoCkAMoNAC3F6MIo1zR8fcO
mczYXtUux2bhlOibn3jQdxamhDR91nr2RBerGjMIITKNXd2MaOr3b6m8euk1BAL3
KsbN9lqvw94kXg0BTO1IHAcdsZQB+AuEVVhmDVGjUDBOMAwGA1UdEwEB/wQCMAAw
HwYDVR0jBBgwFoAU/zpE5TOnQ8LSuvbSWRfpbiGea08wHQYDVR0OBBYEFHL0At4O
GUdcOHVGg4Tfo4hl7LLGMAwGCCqGSM49BAMDBQADZwAwZAIwDWPHo5I04ZFVrkfk
St6gwH2UNF37jBscRN1lOE4SIwezZAqVs42BNMkWRjJBgiHzAjBm4m3zOjsXzNL8
+u8ALjQQCpBDT6dUHujzY5CRxG0xEHi5IXsXf4QwbctnjjvTeYA=
-----END CERTIFICATE-----
subject=/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=*.agents.na.apm.ibmserviceengage.com
issuer=/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=ca_ec_384.apm.ibmserviceengage.com
---
Acceptable client certificate CA names
/C=US/O=IBM Service Engage/CN=ca_ec_384.ibmserviceengage.com
/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=ca_ec_384.apm.ibmserviceengage.com
/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert
Global Root CA/C=US/O=IBM Service Engage/OU=Application Performance
Management/CN=*.agents.na.apm.ibmserviceengage.com
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 2659 bytes and written 261 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-ECDSA-AES128-GCM-SHA256
Server public key is 384 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-ECDSA-AES128-GCM-SHA256
Session-ID:
A18C31D0B45A1166357C917E1CFCD86A9FBEDB4A0EB768EF5390AC28C95CB7EF
Session-ID-ctx:
Master-Key:
252B8FE2731E51AC0B79A27C7BED33CA8B15AF4CFD015C98DBACA46EA01DC40B
9E6B56E62E0F332FF6B56266B5ADD7B0
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1510772474
Timeout : 7200 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
---
DONE
SSL3 alert write:warning:close notify

如果電腦系統沒有連接 Cloud APM 伺服器,則會顯示類似下列範例的訊息:
getaddrinfo: Name or service not known
connect:errno=2

如果電腦系統由於密碼組合在網路中某個地方被封鎖而無法取得伺服器憑證,則會顯示類似下列範例的訊息:
SSL_connect:failed
---
no peer certificate available
---
No client certificate CA names sent

關於這項作業

使用轉遞 Proxy 時,代理程式首先會開啟與 Proxy 的 TCP 連線。 代理程式會將 HTTP CONNECT 要求和目標端點(Cloud APM 伺服器)URL 傳送至轉遞 Proxy。 然後,轉遞 Proxy 將與目標端點建立 TCP 連線,並在代理程式與 Cloud APM 伺服器之間設定 HTTPS 通道作業階段作業。

圖 1. 使用轉遞 Proxy 的連線圖
使用轉遞 Proxy 的連線圖。

監視代理程式不支援鑑別 Proxy,這表示代理程式不支援使用已配置的 Proxy 使用者 ID 和密碼來登入轉遞 Proxy。

程序

  1. 在文字編輯器中開啟代理程式環境配置檔:

    Linux 或 AIXinstall_dir/config/global.environment 檔案,其中 install_dir 是代理程式的安裝起始目錄。 global.environment 檔案可配置安裝目錄中的所有代理程式。

    在代理程式升級之後,會失去 .global.environment 檔案中的自訂設定。 若要保留設定,請在 global.environment 檔案中進行自訂變更。 代理程式升級不會改寫此檔案中的設定。

    Windows針對 64 位元代理程式使用 install_dir\TMAITM6_x64\KpcENV 檔案,針對 32 位元代理程式使用 install_dir\TMAITM6\KpcENV,其中 pc 是代理程式產品型號。 為每一個代理程式配置 KpcENV 檔案。

    如需產品型號的清單,請參閱使用代理程式指令

  2. 編輯 KDH_FORWARDPROXY 環境變數,以指定 Proxy 位址和埠:
    KDH_FORWARDPROXY=http://proxy-address:proxy-port-number
    例如:
    KDH_FORWARDPROXY=http://HostA:8085
  3. 重新啟動代理程式以實作您的變更。 請參閱使用代理程式指令