NetWorker REST API 失敗,並顯示內部伺服器錯誤 500

摘要: NetWorker REST 應用程式發展介面 (API) 可用來管理使用輕量型目錄存取通訊協定 (LDAP) 驗證設定的 NetWorker 資料區域。 使用 LDAP 帳戶時,REST API 命令無法驗證 SocketTimeoutException 和伺服器 HTTP 錯誤 500。 使用指令檔、瀏覽器或命令列執行 REST API 命令時,會遇到症狀。

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

curl 命令列公用程式的輸出範例:
 

# curl -k -v -H "Authorization: Basic YmFhc2hjOkUzdHZvdUVrV3ZpQdN6" -H "Accept: application/json" -X GET https://MY_NSR_SERVER:9090/nwrestapi/v3/global/
* About to connect() to MY_NSR_SERVER port 9090 (#0)
* Trying XXX.XXX.XXX.XXX...
* Connected to MY_NSR_SERVER (XXX.XXX.XXX.XXX) port 9090 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=MY_NSR_SERVER.MY_DOMAIN,OU=NetWorker,O=DELL,L=Round Rock,ST=TX,C=US
* start date: Sep 14 HH:MM:SS YYYY GMT
* expire date: Sep 08 HH:MM:SS YYYY GMT
* common name: MY_NSR_SERVER.MY_DOMAIN
* issuer: CN=MY_NSR_SERVER.MY_DOMAIN,OU=NetWorker,O=DELL,L=Round Rock,ST=TX,C=US
> GET /nwrestapi/v3/global/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: MY_NSR_SERVER:9090
> Authorization: Basic YmFhc2hjOkUzdHZvdUVrV3ZpQdN6
> Accept: application/json
>
< HTTP/1.1 500
< Content-Security-Policy: frame-ancestors 'none';script-src' 'self';object-src 'self'
< Strict-Transport-Security: max-age=31622400; includeSubDomains
< X-XSS-Protection: 1; mode=block
< Date: Tue, 04 Jan 2022 23:42:12 GMT
< Cache-Control: no-cache,no-store,must-revalidate
< Pragma: no-cache
< Expires: 0
< Content-Type: application/json
< Transfer-Encoding: chunked
< Connection: close
< Server: NSR SERVICES for Authentication
<
* Closing connection 0
{"message":"java.net.SocketTimeoutException: SocketTimeoutException invoking https://localhost:9090/auth-server/api/v1/sec/authenticate [localhost]: Read timed out","status":{"code":500,"codeClass":"Server Error","reasonPhrase":"Internal Server Error"},"timestamp":"2022-01-04T18:42:12-05:00","userAgentRequest":{"headers":[{"name":"Accept","value":"application/json"},{"name":"Accept-Language"},{"name":"Content-Type"}],"method":"GET","url":https://MY_NSR_SERVER:9090/nwrestapi/v3/global/ [MY_NSR_SERVER]},"version":"19.4.0.5.Build.222"}
#


可使用 /nsr/logs/restapi/restapi.log 顯示:

YYYY-MM-DD HH:MM:SS WARN  [https-jsse-nio-9090-exec-11134] o.a.c.p.PhaseInterceptorChain - Interceptor for {https://localhost:9090/auth-server/api/v1/sec/authenticate}WebClient has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not receive Message.
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:65) ~[cxf-core-3.3.7.jar:3.3.7]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.3.7.jar:3.3.7]
	at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:704) [cxf-rt-rs-client-3.3.7.jar:3.3.7]
...
	... 64 common frames omitted
YYYY-MM-DD HH:MM:SS ERROR [https-jsse-nio-9090-exec-11134] c.e.n.w.WebApiExceptionMapper - Status 'Internal Server Error', msg: java.net.SocketTimeoutException: SocketTimeoutException invoking https://localhost:9090/auth-server/api/v1/sec/authenticate: Read timed out
javax.ws.rs.ProcessingException: java.net.SocketTimeoutException: SocketTimeoutException invoking https://localhost:9090/auth-server/api/v1/sec/authenticate: Read timed out
	at org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:632) ~[cxf-rt-rs-client-3.3.7.jar:3.3.7]
...
	... 64 common frames omitted

原因

NetWorker 伺服器會使用遠端驗證伺服器進行 LDAP 驗證。標準 REST API 命令使用本機 NetWorker 伺服器作為驗證伺服器,因此無法處理 LDAP 驗證。

解析度

遠端驗證伺服器必須在 REST API 命令中以 X-NW-AUTHC-BASE-URL 標頭指定。

REST API 全域查詢範例:

curl -k -v -H "Accept: application/json" --user myuser@mydomain -X GET https://NSR_NAME:9090/nwrestapi/v3/global/

使用遠端驗證伺服器的 REST API 全域查詢範例

curl -k -v -H "X-NW-AUTHC-BASE-URL:MY_AUTH_NAME.MY_DOMAIN:9090" -H "Accept: application/json" --user myuser@mydomain -X GET https://NSR_NAME:9090/nwrestapi/v3/global/
文章屬性
文章編號: 000196183
文章類型: Solution
上次修改時間: 18 11月 2025
版本:  3
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。