Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Chủ đề này mô tả các lỗi và cảnh báo mà bạn có thể gặp phải với Edge Microgateway.
Lỗi chung về ứng dụng
HTTP 500, thất bại trong trình xử lý lỗi – Hầu hết các lỗi sẽ có số này, cũng như một số lỗi được trả về từ các mục tiêu. Cụ thể, errors-middleware.js được dùng trong suốt mô-đun microgateway-core. Khi được dùng, nó sẽ ghi statusCodes vào nhật ký bằng Edge Microgateway
logger object: logger.error(err, 'failed in error handler');. Đối với các mã nhận được từ các mục tiêu trong khoảng từ 100 đến 300, errors-middleware.js sẽ ghi lại statusCode thành 500 để trả về cho máy khách.HTTP 404 – Bạn có thể thấy trạng thái này được tạo dưới dạng dấu vết ngăn xếp kèm theo thông báo
no match found for [API_path_name].
Lỗi và cảnh báo của mô-đun
Bạn có thể sử dụng thông tin này để định cấu hình các cảnh báo giúp bạn giám sát và quản lý việc triển khai Edge Microgateway.
Các thuật ngữ sau đây xuất hiện trong tài liệu tham khảo về lỗi trong phần "Trình xử lý", cho biết cách xử lý các lỗi khác nhau trong Edge Microgateway.
- assert: Thông thường, Edge Microgateway sẽ dừng khi quá trình đánh giá khẳng định không thành công. Tuy nhiên, điều này không phải lúc nào cũng đúng, vì "asserts" sẽ đưa ra các ngoại lệ có thể bị bắt.
- throws: Hệ thống có thể bị tạm dừng.
- callback: Lỗi được truyền đến một lệnh gọi lại và hệ thống có thể tiếp tục.
| Loại | Nhắn tin | Trình xử lý | Ghi chú |
|---|---|---|---|
mô-đun microgateway |
|||
| error | Bạn phải nhập tên miền .org | xác nhận | assert(options.org,"org is required"); |
| error | Bắt buộc phải có env | xác nhận | assert(options.env,"env is required") |
| error | Bạn phải nhập tên người dùng | xác nhận | assert(options.username || options.token,"username is required"); |
| error | Bạn phải nhập mật khẩu | xác nhận | assert(options.password || options.token,"password is required") |
| error | Bạn phải nhập tên miền .org | xác nhận | assert(options.org,"org is required"); |
| error | Bắt buộc phải có env | xác nhận | assert(options.env,"env is required") |
| error | Bạn phải nhập tên người dùng | xác nhận | assert(options.username || options.token,"username is required"); |
| error | Bạn phải nhập mật khẩu | xác nhận | assert(options.password || options.token,"password is required") |
| error | Bạn phải nhập tên miền .org | xác nhận | assert(options.org,"org is required"); |
| error | Bắt buộc phải có env | xác nhận | assert(options.env,"env is required") |
| error | Bạn phải nhập tên miền .org | xác nhận | assert(options.org,"org is required"); |
| error | Bắt buộc phải có env | xác nhận | assert(options.env,"env is required") |
| error | Bạn phải nhập tên người dùng | xác nhận | assert(options.username, 'username is required'); |
| error | Bạn phải nhập mật khẩu | xác nhận | assert(options.password, 'password is required'); |
| error | Bạn phải nhập tên miền .org | xác nhận | assert(options.org, 'org is required'); |
| error | Bắt buộc phải có env | xác nhận | assert(options.env, 'env is required'); |
| error | phải có một tệp đích được chỉ định | xác nhận | assert(targetFile, 'must have an assigned target file') |
| error | phải có một khoá | xác nhận | assert(key, 'must have a key'); |
| error | phải có một khoá bí mật | xác nhận | assert(secret, 'must have a secret'); |
| error | Bạn phải định cấu hình dir | xác nhận | assert(dir, 'dir must be configured') |
| error | phải có lệnh gọi lại | xác nhận | assert(callback, 'callback must be present') |
| error | Bạn phải nhập tên người dùng | xác nhận | assert(options.username, 'username is required'); |
| error | Bạn phải nhập mật khẩu | xác nhận | assert(options.password, 'password is required'); |
| error | Bạn phải nhập tên miền .org | xác nhận | assert(options.org, 'org is required'); |
| error | Bắt buộc phải có env | xác nhận | assert(options.env, 'env is required'); |
| error | runtimeUrl là bắt buộc | xác nhận | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| error | mgmtUrl là bắt buộc | xác nhận | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| error | Bạn cần có tệp | xác nhận | assert(options.file,"file is required") |
| error | phải có mục tiêu | xác nhận | assert(options.target, 'must have target'); |
| error | chưa định cấu hình trình bổ trợ | xác nhận | assert(config.edgemicro.plugins, 'plugins not configured'); |
| error | plugin dir does not exist: + pluginDir | xác nhận | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| error | plugin dir không phải là một thư mục: + pluginDir | xác nhận | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| error | error reading plugin dir: + pluginDir | xác nhận | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| error | phải có mã thông báo | xác nhận | assert(token, 'must have a token'); |
| error | Không được để trống configpath | xác nhận | assert(config, 'configpath can't be empty'); |
| error | phải có EDGEMICRO_KEY | xác nhận | assert(key, 'must have EDGEMICRO_KEY'); |
| error | phải có EDGEMICRO_SECRET | xác nhận | assert(secret, 'must have EDGEMICRO_SECRET'); |
| error | cấu hình không tồn tại | gửi | liên quan đến tệp YAML |
| error | Có vẻ như edgemicro đã chạy. | console.error | cố gắng ghi đè tệp .sock |
| error | Không kiểm tra được thay đổi trong Cấu hình. Sẽ thử lại sau | console.error | vấn đề về giao tiếp biên |
| error | Nếu máy chủ không chạy, có thể là do bạn đã tắt không đúng cách trong lần khởi động trước. | console.error | |
| error | Thiếu %s, vui lòng chạy | console.error | Thiếu (.*), Vui lòng chạy |
| error | Không tải lại được edgemicro | console.error | cấp lệnh |
| error | Không dừng được edgemicro | console.error | Cấp lệnh |
| error | "Hãy thử xoá " + ipcPath + " rồi bắt đầu lại" | console.error | |
| error | "cấu hình bộ nhớ đệm" + bộ nhớ đệm + "không tồn tại. thoát." | console.error | |
| error | Không thể ghi tệp cấu hình: | console.error | Không định cấu hình được |
| error | Không tải được tệp cấu hình xuống: | console.error | Không định cấu hình được |
| error | không khởi động được edge micro | console.error | Không nên chạy |
| error | edgemicro không chạy. | console.error | Quy trình kiểm tra không được liệt kê |
| error | Bắt buộc phải có env | console.error | Các biến môi trường cần thiết để chạy |
| error | error – editing apiproxy Callout.xml | console.error | Quyền truy cập vào tệp |
| error | error – editing apiproxy default.xml | console.error | Quyền truy cập vào tệp |
| error | lỗi kiểm tra chứng chỉ. Cài đặt chứng chỉ mới. | console.error | Không thể sử dụng khoá công khai |
| error | đã xảy ra lỗi khi truy xuất khu vực cho tổ chức | console.error | key-gen.js, cert-lib.js và private.js |
| error | lỗi khi tải thông tin đăng nhập lên | console.error | Không thể đồng bộ hoá khoá công khai với Edge |
| error | không thành công | console.error | key-gen.js |
| error | không khởi tạo được tệp configpath %s | console.error | Không tải được cấu hình |
| error | phản hồi không hợp lệ từ region api | console.error | key-gen.js, cert-lib.js và private.js |
| error | Bạn phải cung cấp khoá | console.error | Tham số |
| error | Bạn phải nhập tên miền .org | console.error | Tham số |
| error | cổng không hoạt động. | console.error | Tham số |
| error | bắt buộc phải có khoá bí mật | console.error | Tham số |
| error | giao thức url không được hỗ trợ: | console.error | Thông tin cấu hình cho biết một giao thức Internet không nằm trong phạm vi của Edge Microgateway |
| error | xác minh trường hợp tiêu cực về số liệu phân tích: THẤT BẠI | console.error | Có thể gặp sự cố/lỗi |
| error | xác minh số liệu phân tích bằng tải trọng: THẤT BẠI | console.error | Có thể gặp sự cố/lỗi |
| error | verifying bootstrap url availability:FAIL | console.error | Có thể gặp sự cố/lỗi |
| error | xác minh tính khả dụng của jwt_public_key: THẤT BẠI | console.error | Có thể gặp sự cố/lỗi |
| error | xác minh tình trạng còn hàng của sản phẩm: THẤT BẠI | console.error | Có thể gặp sự cố/lỗi |
| error | xác minh hạn mức với các sản phẩm đã định cấu hình: THẤT BẠI | console.error | Có thể gặp sự cố/lỗi |
| cảnh báo | không truy xuất được cấu hình từ cổng. tiếp tục, sẽ thử bản sao được lưu vào bộ nhớ đệm.. | console.error | |
| cảnh báo | KVM đã tồn tại trong tổ chức của bạn | console.log | |
| cảnh báo | đã được triển khai | console.log | |
| cảnh báo | không tìm thấy plugin theo trình tự: | console.warn | |
| cảnh báo | pluginDir %s không tồn tại | console.log | pluginDir (.*) không tồn tại |
mô-đun microgateway-core |
|||
| error | chưa khởi chạy cấu hình | xác nhận | assert(config, 'config not initialized') |
| error | phải có một cấu hình | xác nhận | assert(config, ' must have a config') |
| error | phải có cấu hình | xác nhận | assert(config, 'must have config') |
| error | cấu hình phải có uid | xác nhận | assert(config.uid, 'config must have uid'); |
| error | phải có config.edgemicro.logging trong cấu hình | xác nhận | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| error | phải có phương thức yêu cầu | xác nhận | assert(httpLibrary.request, 'must have request method'); |
| error | phải có trình bổ trợ được tải vào bộ nhớ | xác nhận | assert(options.plugin, "must have plugin loaded in memory"); |
| error | init phải là một hàm | xác nhận | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| error | phải có tên trình bổ trợ | xác nhận | assert(options.pluginName, "must have plugin name"); |
| error | bỏ qua trình xử lý và tên trình bổ trợ không hợp lệ | xác nhận | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| error | các lựa chọn phải chứa cấu hình | xác nhận | assert(config, 'options must contain config') |
| error | trình bổ trợ phải có tên | xác nhận | assert(name,"plugin must have a name") |
| error | name phải là một chuỗi | xác nhận | assert(_.isString(name),"name must be a string"); |
| error | plugin phải là một hàm | xác nhận | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| error | phải có một khoá | xác nhận | assert(key, 'must have a key'); |
| error | phải có một khoá bí mật | xác nhận | assert(secret, 'must have a secret'); |
| error | phải có một thư mục cấu hình nguồn | xác nhận | assert(source, 'must have a source config directory'); |
| error | lỗi khi tải trình bổ trợ | console.error | Không tải được trình bổ trợ |
| error | không thành công trong trình xử lý lỗi | callback | Hàm HTTP server.on() |
| error | độ dài tiêu đề lớn hơn kích thước cho phép | Lỗi HTTP | Không chạy trình bổ trợ |
| error | phản hồi hoàn tất trước khi có thể thực hiện công việc | logger.error | Trình bổ trợ mục tiêu không chạy |
| error | trình xử lý đã đưa ra một ngoại lệ | callback | Lỗi chụp từ trình bổ trợ (catch) |
| error | lỗi khi khởi động edge micro | callback | Edge Microgateway không khởi động |
| error | plugin phải là một hàm | gửi | |
| cảnh báo | console.error | cảnh báo | Viết nhật ký |
| cảnh báo | lỗi targetRequest | gọi phương thức xử lý lỗi mục tiêu | Lỗi máy khách HTTP khi kết nối với mục tiêu |
| cảnh báo | lỗi targetResponse | gọi phương thức xử lý lỗi mục tiêu | Lỗi máy chủ đích HTTP khi kết nối với đích đến như ứng dụng khách thấy |
microgateway-config module |
|||
| error | allow_message | xác nhận | assert(+config.quota.allow > 0, allow_message); |
| error | cấu hình không tồn tại | gửi | Tệp cấu hình yaml |
| error | config trống | gửi | Tệp cấu hình yaml |
| error | config không phải là một tệp | gửi | Tệp cấu hình yaml |
| error | không xác định được cấu hình | xác nhận | assert(config, 'config is not defined'); |
| error | config.analytics.batchSize không hợp lệ | xác nhận | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| error | config.analytics.batchSize không phải là một số | xác nhận | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| error | config.analytics.bufferSize không hợp lệ | xác nhận | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| error | config.analytics.bufferSize không phải là một số | xác nhận | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| error | config.analytics.flushInterval không hợp lệ | xác nhận | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| error | config.analytics.flushInterval không phải là một số | xác nhận | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| error | config.analytics.proxy không phải là "dummy" | xác nhận | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| error | config.analytics.proxy chưa được xác định | xác nhận | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| error | config.analytics.proxy_revision không phải là một số | xác nhận | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| error | config.analytics.proxy_revision chưa được xác định | xác nhận | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| error | config.analytics.source không phải là "microgateway" | xác nhận | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| error | config.analytics.source chưa được xác định | xác nhận | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| error | config.analytics.uri không phải là một chuỗi | xác nhận | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| error | config.analytics.uri chưa được xác định | xác nhận | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| error | config.apikeys.public_key chưa được xác định | xác nhận | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| error | config.edge_config chưa được xác định | xác nhận | assert(config.edge_config, 'config.edge_config is not defined'); |
| error | config.edge_config.bootstrap chưa được xác định | xác nhận | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| error | config.edge_config.jwt_public_key chưa được xác định | xác nhận | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| error | Bạn phải xác định config.edge_config.proxy nếu xác định config.edge_config.proxy_tunnel | xác nhận | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
| error | config.edge_config.proxy_tunnel không phải là giá trị boolean | xác nhận | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| error | config.edge_config.refresh_interval không phải là một số | xác nhận | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| error | config.edge_config.refresh_interval quá nhỏ (tối thiểu 1 giờ) | xác nhận | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| error | config.edge_config.retry_interval không phải là một số | xác nhận | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| error | config.edge_config.retry_interval quá nhỏ (tối thiểu 5 giây) | xác nhận | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| error | config.edgemicro chưa được xác định | xác nhận | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| error | config.edgemicro.logging chưa được xác định | xác nhận | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| error | config.edgemicro.logging.dir chưa được xác định | xác nhận | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| error | config.edgemicro.logging.level chưa được xác định | xác nhận | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| error | config.edgemicro.max_connections không phải là một số | xác nhận | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| error | config.edgemicro.max_connections chưa được xác định | xác nhận | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| error | config.edgemicro.plugins.sequence không phải là một mảng | xác nhận | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| error | config.edgemicro.port chưa được xác định | xác nhận | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| error | config.oauth.allowInvalidAuthorization chưa được xác định | xác nhận | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| error | config.oauth.allowNoAuthorization chưa được xác định | xác nhận | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| error | config.oauth.public_key chưa được xác định | xác nhận | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| error | config.oauthv2.public_key chưa được xác định | xác nhận | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| error | config.proxies chưa được xác định | xác nhận | assert(config.proxies, 'config.proxies is not defined'); |
| error | config.proxy[ + index + ].base_path chưa được xác định | xác nhận | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| error | config.proxy[ + index + ].max_connections không phải là một số | xác nhận | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| error | config.proxy[ + index + ].max_connections chưa được xác định | xác nhận | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| error | config.proxy[ + index + ].name chưa được xác định | xác nhận | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| error | config.proxy[ + index + ].proxy_name chưa được xác định | xác nhận | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| error | config.proxy[ + index + ].revision chưa được xác định | xác nhận | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| error | config.proxy[ + index + ].url chưa được xác định | xác nhận | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| error | config.quota.allow không phải là một số | xác nhận | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| error | config.quota.allow chưa được xác định | xác nhận | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| error | config.quota.interval không phải là một số | xác nhận | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| error | config.quota.interval chưa được xác định | xác nhận | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| error | config.spikearrest chưa được xác định | xác nhận | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| error | config.spikearrest.allow không hợp lệ | xác nhận | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| error | config.spikearrest.allow không phải là một số | xác nhận | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| error | config.spikearrest.allow chưa được xác định | xác nhận | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| error | config.spikearrest.bufferSize không hợp lệ | xác nhận | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| error | config.spikearrest.bufferSize không phải là một số | xác nhận | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| error | config.spikearrest.timeUnit chưa được xác định | xác nhận | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| error | LỖI NGHIÊM TRỌNG: lỗi phân tích cú pháp danh sách sản phẩm đã tải xuống | callback | |
| error | LỖI NGHIÊM TRỌNG: lỗi khi phân tích cú pháp danh sách proxy đã tải xuống | callback | |
| error | ĐÃ PHÁT HIỆN LỖI CẤU HÌNH SAI SẢN PHẨM | console.error | Tiếp theo là console.warn('using old cached configuration'); |
| error | lỗi khi đọc cấu hình từ | gửi | Tệp cấu hình yaml |
| error | lỗi khi lưu cấu hình vào | callback | Tệp cấu hình yaml |
| error | fatal: cached config not available, unable to continue | callback | |
| error | interval_message | xác nhận | assert(+config.quota.interval > 0, interval_message); |
| error | giao thức không hợp lệ cho config.edge_config.proxy (dự kiến là http: hoặc https:: + proxy_url.protocol) | xác nhận | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| error | máy chủ proxy không hợp lệ cho config.edge_config.proxy | xác nhận | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| error | có vẻ như bạn chưa định cấu hình edge micro, vui lòng xem hướng dẫn dành cho quản trị viên | callback | Kết quả: Không tải được cấu hình |
| error | thiếu khoá | xác nhận | assert(keys.key, 'key is missing'); |
| error | phải có configDir | xác nhận | assert(configDir, 'must have configDir') |
| error | phải có các lựa chọn | xác nhận | assert(options, 'must have options'); |
| error | phải có nguồn | xác nhận | assert(source, 'must have source') |
| error | phải có nguồn để tải | xác nhận | assert(options.source, 'must have source to load from') |
| error | phải có targetFile | xác nhận | assert(fileName, 'must have targetFile') |
| error | options không được có giá trị null | xác nhận | assert(options, 'options cannot be null'); |
| error | options.keys không được có giá trị null | xác nhận | assert(options.keys, 'options.keys cannot be null'); |
| error | port_message | xác nhận | assert(+config.edgemicro.port < 65536, port_message); |
| error | products phải là một mảng | xác nhận | assert(Array.isArray(products), 'products should be an array'); |
| error | "proxies for product ' + product + ' should be an array" | xác nhận | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| error | thiếu khoá bí mật | xác nhận | assert(keys.secret, 'secret is missing'); |
| error | chưa đặt mục tiêu | xác nhận | assert(target, 'target is not set'); |
| cảnh báo | lỗi khi tải cấu hình xuống, vui lòng kiểm tra cấu hình khởi động | console.warn | |
| cảnh báo | không tải được jwt_public_key xuống | console.warn | |
| cảnh báo | khoá jwk chưa được bật | console.warn | |
| cảnh báo | message, 'download from', url, 'returned' | console.warn | Tìm kiếm: (.*)\sdownload from\s(.*)\sreturned |
| cảnh báo | không tìm thấy sản phẩm vi mô nào của Edge trong phản hồi | console.warn | |
| cảnh báo | không tìm thấy proxy vi mô biên trong tổ chức | console.warn | |
| cảnh báo | không tìm thấy proxy viền nào trong phản hồi | console.warn | |
| cảnh báo | không tìm thấy sản phẩm nào trong tổ chức | console.warn | |
| cảnh báo | không tìm thấy sản phẩm nào trong phản hồi | console.warn | |
| cảnh báo | sử dụng cấu hình cũ trong bộ nhớ đệm | console.warn | |
microgateway-plugins module |
|||
| error | cấu hình không tồn tại | gửi | Liên quan đến tệp yaml |
| error | apikey | Phản hồi HTTP | Lỗi trong trình bổ trợ apiky |
| error | bauth | Phản hồi HTTP | Lỗi trong trình bổ trợ bauth |
| error | extauth | Phản hồi HTTP | Lỗi trong trình bổ trợ extauth |
| error | Oauth | Phản hồi HTTP | Lỗi trong trình bổ trợ oauth |
| cảnh báo | Đã xảy ra lỗi khi xử lý số liệu phân tích của Apigee. Cho phép tiếp tục xử lý yêu cầu | logger.error | |
| cảnh báo | bỏ qua err | console.warn | Trình bổ trợ apikeys, oauth và oauthv2 |
| cảnh báo | error parsing jwt: | console.warn | |
| cảnh báo | đối tượng phản hồi oath thiếu setHeader | console.warn | Lỗi tham số oauth cho biết một số lỗi sẽ không được báo cáo. |
| cảnh báo | đối tượng phản hồi oath không được cung cấp theo thời gian chạy | console.warn | lỗi tham số oauth |
| cảnh báo | thời gian chạy không cung cấp đối tượng số liệu thống kê về lời tuyên thệ | console.warn | lỗi tham số oauth |
mô-đun apigeetool-node |
|||
| error | Không xoá được bộ nhớ đệm với mã trạng thái %d', res.statusCode | callback | Được truyền trong deletecache.js. Mã trạng thái từ Apigee Edge. Truyền đến lệnh gọi lại một lỗi dấu vết ngăn xếp bằng thông báo sau: done(new Error(errMsg)); |
| error | Không xoá được sản phẩm với mã trạng thái %d', res.statusCode | callback | Được truyền vào deleteproduct.js. Mã trạng thái từ Apigee Edge. Truyền đến lệnh gọi lại một lỗi dấu vết ngăn xếp bằng thông báo sau: done(new Error(errMsg)); |
| error | Bạn phải chỉ định org, api và revision! | callback | Được truyền trong fetchproxy.js. Lỗi cấu hình. |
| error | Đã nhận được lỗi %d khi tìm nạp proxy: %j | callback | Được truyền trong fetchproxy.js. Mã trạng thái không phải là 200. |
| error | Không tạo được ứng dụng với mã trạng thái %d | callback | Được đưa vào createapp.js. Truyền tất cả các lỗi trở lại lệnh gọi lại dưới dạng lỗi dấu vết ngăn xếp. Không in bảng điều khiển hoặc mục nhập nhật ký. |
| error | lệnh + " không thành công với mã trạng thái %d | callback | Được truyền trong command-utils.js. Đối với bất kỳ lệnh nào được phân tích cú pháp và truyền đến mô-đun này, mọi mã không phải là 200 hoặc 201 sẽ tạo ra thông báo lỗi. Định dạng thông báo này nhưng không in. Truyền lỗi dấu vết ngăn xếp cùng thông báo trở lại các lệnh gọi lại. |
| error | Đã nhận được lỗi %d khi tìm nạp luồng được chia sẻ: %s | callback | Được truyền trong fetchsharedflow.js. Đối với mọi trạng thái HTTP không phải là 200. Nếu thành công nhưng không ghi được tệp, thì chương trình sẽ ghi vào bảng điều khiển: Không ghi được tệp Văn bản lỗi: [stack_trace_error] |
| error | Không tạo được KeySecret với mã trạng thái %d', res.statusCode | callback | Được đưa vào createappkey.js. Đối với mã trạng thái HTTP từ Apigee Edge không phải là 200 hoặc 201. |
| error | Không tạo được bộ nhớ đệm với mã trạng thái %d', res.statusCode | callback | Được truyền trong createcache.js. Đối với mã trạng thái HTTP từ Apigee Edge không phải là 200 hoặc 201. |
| error | Không tạo được Sản phẩm với mã trạng thái %d', res.statusCode | callback | Được truyền trong createproduct.js. Đối với mã trạng thái HTTP từ Apigee Edge không phải là 201. Nếu trạng thái HTTP là 201 nhưng phản hồi bao gồm JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
| error | Xoá ứng dụng không thành công với mã trạng thái %d', res.statusCode | callback | Được đưa vào deleteapp.js. Đối với mã trạng thái HTTP không phải là 200 từ Apigee Edge. Nếu trạng thái HTTP là 200 nhưng phản hồi bao gồm JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
| error | Không tạo được Nhà phát triển với mã trạng thái %d', res.statusCode | callback | Được truyền trong createdeveloper.js. Đối với mã trạng thái HTTP từ Apigee Edge không phải là 201. Nếu trạng thái HTTP là 201 nhưng phản hồi bao gồm JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
| error | Xoá Nhà phát triển không thành công với mã trạng thái %d', res.statusCode | callback | Được truyền trong deletedeveloper.js. Đối với mã trạng thái HTTP không phải là 200 từ Apigee Edge. Nếu trạng thái HTTP là 200 nhưng phản hồi bao gồm JSON lỗi, thì JSON lỗi sẽ được chuyển tiếp đến lệnh gọi lại. |
Lỗi trình bổ trợ
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| 503 | Too busy. No messages in HTTP or console | ||
| default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth plug-in (v1) with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| Access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2 plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | uri parameter must be specified | apigeequota.js | |
| throw | key parameter must be specified | apigeequota.js | |
| callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
| callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
| callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
| callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | start time not allowed for month time units | quota.js. volos error on time format. | |
| throw | Invalid start time %s | quota.js. volos error on time format. | |
| throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
| throw | Invalid timeUnit %s | spikearrest.js | |
| callback | key must be a string | spikearrest.js | |
| throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase plug-in with descriptions of possible causes.
No errors generated.