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
Theo Thông số kỹ thuật HTTP RFC 7230, phần 3.2.2: Thứ tự trường, Apigee Edge dự kiến rằng yêu cầu HTTP từ máy khách hoặc phản hồi HTTP từ máy chủ phụ trợ không chứa cùng một tiêu đề được truyền nhiều lần với cùng một hoặc các giá trị khác nhau, trừ phi tiêu đề cụ thể có một ngoại lệ và được phép có các tiêu đề trùng lặp.
Theo mặc định, Apigee Edge cho phép truyền các giá trị trùng lặp và nhiều giá trị đến hầu hết các tiêu đề HTTP. Tuy nhiên, thuộc tính này không cho phép một số tiêu đề được liệt kê trong Các tiêu đề không được phép có giá trị trùng lặp và nhiều giá trị. Vì thế:
- Bạn sẽ nhận được
400 Bad Requestvới mã lỗiprotocol.http.DuplicateHeadernếu máy khách gửi yêu cầu HTTP có tiêu đề cụ thể nhiều lần hoặc có nhiều giá trị cho các tiêu đề HTTP không được phép có giá trị trùng lặp/nhiều giá trị trong Apigee Edge. - Tương tự, bạn sẽ nhận được
502 Bad Gatewayvới mã lỗiprotocol.http.DuplicateHeadernếu máy chủ phụ trợ gửi một phản hồi HTTP có tiêu đề cụ thể nhiều lần hoặc có nhiều giá trị cho các tiêu đề HTTP không được phép có giá trị trùng lặp hoặc nhiều giá trị trong Apigee Edge
Giải pháp được đề xuất để giải quyết những lỗi này là sửa ứng dụng khách và máy chủ phụ trợ để không gửi tiêu đề trùng lặp và tuân thủ quy cách RFC 7230, phần 3.2.2: Thứ tự trường như được giải thích trong các sổ tay khắc phục sự cố sau:
Tuy nhiên, trong một số trường hợp, bạn có thể muốn thêm một ngoại lệ để đưa các giá trị trùng lặp và nhiều giá trị vào một số tiêu đề HTTP. Trong những trường hợp như vậy, bạn có thể cho phép các tiêu đề trùng lặp và nhiều giá trị cho một tiêu đề HTTP cụ thể bằng cách đặt một thuộc tính HTTPHeader.HEADER_NAME ở cấp Trình xử lý thông báo.
Tài liệu này cung cấp thông tin về thuộc tính này, giải thích cách bật thuộc tính này để tránh các lỗi nêu trên và chia sẻ các phương pháp hay nhất liên quan.
Các thuộc tính tiêu đề HTTP cho phép các giá trị trùng lặp và nhiều giá trị
Apigee Edge cung cấp 2 thuộc tính sau để kiểm soát hành vi cho phép các giá trị trùng lặp và nhiều giá trị cho tiêu đề HTTP. Xin lưu ý rằng bạn chỉ có thể định cấu hình các thông số này trên Bộ xử lý thông báo bằng cách sử dụng cú pháp mã thông báo được giải thích trong phần Cách định cấu hình Edge.
| Tên tài sản | Mô tả | Giá trị được phép |
|---|---|---|
HTTPHeader.ANY |
Thuộc tính này cho biết liệu các giá trị trùng lặp hay nhiều giá trị có được phép cho tất cả tiêu đề HTTP hay không, bao gồm cả tiêu đề tuỳ chỉnh được gửi trong yêu cầu HTTP do máy khách thực hiện hoặc phản hồi HTTP do máy chủ phụ trợ gửi đến Apigee Edge. Giá trị mặc định:
|
|
|
Thuộc tính này được dùng để ghi đè hành vi của một tiêu đề cụ thể so với hành vi được chỉ định bằng |
Giống như trên. |
Tiêu đề không được phép có giá trị trùng lặp và nhiều giá trị
Như đã giải thích trước đó, theo mặc định, Apigee Edge cho phép các giá trị trùng lặp và nhiều giá trị cho hầu hết các tiêu đề HTTP. Điều này là do thuộc tính HTTPHeader.ANY được định cấu hình với giá trị multiValued, allowDuplicates.
Cấu hình bị ghi đè
Đối với một số tiêu đề cụ thể, cấu hình mặc định sẽ bị ghi đè bằng một trong các phương thức sau:
HTTPHeader.HEADER_NAME=multiValued, allowDuplicatesCấu hình này không thay đổi hành vi mặc định. Tức là tiêu đề cụ thể đó được phép có các giá trị trùng lặp và nhiều giá trị
.HTTPHeader.HEADER_NAME=Cấu hình này thay đổi hành vi mặc định. Tức là tiêu đề cụ thể không được phép có giá trị trùng lặp và nhiều giá trị.
Xác định những tiêu đề không được phép có giá trị trùng lặp và nhiều giá trị
Phần này mô tả cách xác định những nội dung sau:
- Các tiêu đề cụ thể không được phép có giá trị trùng lặp và nhiều giá trị trong chế độ thiết lập Đám mây riêng Apigee Edge, và
- Các tiêu đề cụ thể có cấu hình hiện có
Trên máy Message Processor, hãy tìm thuộc tính
HTTPHeader.trong thư mục/opt/apigee/edge-message-processor/confnhư minh hoạ bên dưới:grep -ri "HTTPHeader." /opt/apigee/edge-message-processor/conf
Đầu ra mẫu:
# grep -ri "HTTPHeader" /opt/apigee/edge-message-processor/conf /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.ANY=allowDuplicates, multiValued /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Connection=allowDuplicates, multiValued … <snipped> /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Host= /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires= /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Date=allowDuplicates … <snipped>
- Như đã giải thích trong phần Cấu hình bị ghi đè, hãy lưu ý thông tin sau trong đầu ra mẫu ở trên:
- Tiêu đề HTTP
Connectionbị ghi đè, nhưng được phép có các giá trị trùng lặp và nhiều giá trị - Các tiêu đề HTTP
HostvàExpiressẽ bị ghi đè và không được phép có các giá trị trùng lặp và nhiều giá trị - Tiêu đề HTTP
Datebị ghi đè và được phép có các giá trị trùng lặp nhưng không được phép có nhiều giá trị - Tất cả tiêu đề xuất hiện ở đây (
Connection,Host,ExpiresvàDatetrong mẫu trên) được gọi là tiêu đề có cấu hình có sẵn trong tài liệu này.
- Tiêu đề HTTP
Hành vi của Apigee Edge
Bảng sau đây mô tả hành vi của Apigee Edge khi các tiêu đề được gửi dưới dạng bản sao và có nhiều giá trị tuỳ thuộc vào cách các thuộc tính HTTPHeader được định cấu hình trên Bộ xử lý thông báo bằng ví dụ HTTPHeader về test-header.
| Yêu cầu | HEADERS đi dựa trên giá trị của conf/http.properties+HTTPHeader.test-header= | |||
|---|---|---|---|---|
| <Blank> | allowDuplicates | multiValued | allowDuplicates, multiValued (MẶC ĐỊNH) | |
test‑header=a,b |
test‑header=a,b |
test‑header=a,b |
Trong nội bộ, chúng tôi chia
sau đó, lỗi |
Trong nội bộ, chúng tôi chia
nhưng sau đó biểu mẫu gốc sẽ được gửi đến đích. |
test‑header=atest‑header=b |
protocol.http. |
test‑header=atest‑header=b |
protocol.http. |
test‑header=atest‑header=b |
Trước khi bắt đầu
Trước khi sử dụng các bước trong tài liệu này, hãy đảm bảo rằng bạn hiểu rõ cách định cấu hình các thuộc tính cho Edge trên Đám mây riêng, được mô tả trong phần Cách định cấu hình Edge.
Định cấu hình allowDuplicates và nhiều giá trị cho tiêu đề
Như đã giải thích trong phần Thuộc tính tiêu đề HTTP để cho phép các giá trị trùng lặp và nhiều giá trị,giá trị của thuộc tính HTTPHeader.ANY = allowDuplicates,
multiValued ngụ ý rằng tất cả tiêu đề đều được phép có các giá trị trùng lặp và nhiều giá trị trong Apigee Edge. Tuy nhiên, có một số tiêu đề mà giá trị của chúng bị ghi đè một cách rõ ràng để không cho phép các tiêu đề trùng lặp hoặc nhiều giá trị cho tiêu đề này bằng cách sử dụng thuộc tính HTTPHeader.HEADER_NAME.
Phần này giải thích cách định cấu hình thuộc tính HTTPHeader.HEADER_NAME để cho phép các giá trị trùng lặp và nhiều giá trị cho mọi tiêu đề HTTP như vậy trên Trình xử lý thông báo, bằng cách sử dụng mã thông báo tương ứng theo cú pháp được mô tả trong bài viết Cách định cấu hình Edge.
Trong phần này, chúng ta sẽ sử dụng Expires (và myheader) làm tiêu đề ví dụ mà chúng ta muốn cho phép các giá trị trùng lặp và nhiều giá trị như giải thích bên dưới:
-
Xác định giá trị hiện tại của thuộc tính
HTTPHeaderHEADER_NAMEđể đảm bảo rằng thuộc tính này chưa được bật để cho phép các giá trị trùng lặp và nhiều giá trị bằng cách sử dụng lệnh sau:grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
Ví dụ: nếu bạn đang cố gắng đặt thuộc tính cho tiêu đề
Expires, hãy kiểm tra giá trị hiện tại của mã thông báo thuộc tínhHTTPHeader.Expirestrên Trình xử lý thông báo:grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
Kết quả của lệnh trên sẽ là một trong những kết quả sau:
- Thuộc tính được đặt thành trống, điều này ngụ ý rằng giá trị bị ghi đè (và đây là tiêu đề có cấu hình đã có từ trước) để KHÔNG cho phép các tiêu đề trùng lặp và nhiều giá trị. Tức là bạn không được phép gửi tiêu đề
Expiresnhiều lần trong yêu cầu HTTP hoặc phản hồi HTTP đến Apigee. - Không có lượt truy cập nào cho thuộc tính cụ thể, điều đó có nghĩa là giá trị đó không bị ghi đè (và đây KHÔNG phải là tiêu đề có cấu hình có sẵn). Điều này có nghĩa là tiêu đề cụ thể có thể được gửi nhiều lần (cho phép trùng lặp) trong yêu cầu HTTP hoặc phản hồi HTTP đến Apigee Edge.
- Thuộc tính được đặt bằng giá trị
allowDuplicates, multiValued, điều đó có nghĩa là giá trị đó được ghi đè một cách rõ ràng (và đây là tiêu đề có cấu hình đã tồn tại từ trước). Điều này có nghĩa là tiêu đề cụ thể có thể được gửi nhiều lần (cho phép trùng lặp) trong yêu cầu HTTP hoặc phản hồi HTTP đến Apigee.
Kết quả đầu ra mẫu của lệnh tìm kiếm:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=
Kết quả mẫu ở trên cho thấy thuộc tính
HTTPHeader.Expiresđược đặt thành trống. Điều này có nghĩa là thuộc tính sẽ bị ghi đè thành không cho phép giá trị trùng lặp hoặc nhiều giá trị cho tiêu đềExpires. - Thuộc tính được đặt thành trống, điều này ngụ ý rằng giá trị bị ghi đè (và đây là tiêu đề có cấu hình đã có từ trước) để KHÔNG cho phép các tiêu đề trùng lặp và nhiều giá trị. Tức là bạn không được phép gửi tiêu đề
- Nếu bạn nhận thấy thuộc tính tương ứng với tiêu đề cụ thể đã bị ghi đè một cách rõ ràng thành không cho phép có giá trị trùng lặp hoặc nhiều giá trị như trong ví dụ về đầu ra ở trên, chỉ khi đó bạn mới thực hiện các bước sau. Nếu không bị ghi đè một cách rõ ràng, hãy bỏ qua các bước còn lại trong phần này.
- Chỉnh sửa. Nếu chưa có, bạn có thể tạo:
/opt/apigee/customer/application/message-processor.properties
Ví dụ: để mở tệp bằng vi, hãy nhập nội dung sau:
vi /opt/apigee/customer/application/message-processor.properties
- Thêm một dòng theo định dạng sau:
conf_http_HTTPHeader.Expires=allowDuplicates, multiValued
- Lưu thay đổi.
Đảm bảo rằng tệp thuộc tính thuộc sở hữu của người dùng
apigee. Nếu không, hãy thực thi lệnh sau:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
Khởi động lại Trình xử lý tin nhắn:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Để khởi động lại mà không ảnh hưởng đến lưu lượng truy cập, hãy xem phần Khởi động lại Trình xử lý thông báo theo từng bước mà không ảnh hưởng đến lưu lượng truy cập.
- Nếu bạn có nhiều Trình xử lý tin nhắn, hãy lặp lại các bước trên cho tất cả Trình xử lý tin nhắn.
Xác minh tiêu đề được định cấu hình để có nội dung trùng lặp và nhiều giá trị
Phần này giải thích cách xác minh rằng thuộc tính HTTPHeader.HEADER_NAME cho một tiêu đề cụ thể đã được cập nhật thành công để cho phép các bản sao trên Trình xử lý thông báo.
Chúng ta sẽ dùng Expires làm tiêu đề mẫu và kiểm tra xem thuộc tính tương ứng HTTPHeader.Expires đã được cập nhật hay chưa.
Mặc dù bạn dùng mã thông báo conf_http_HTTPHeader.Expires để cập nhật giá trị trên Trình xử lý thông báo, nhưng bạn cần xác minh xem thuộc tính thực tế HTTPHeader.Expires đã được đặt bằng giá trị mới hay chưa.
- Trên máy Message Processor (Bộ xử lý thông báo), hãy tìm thuộc tính
HTTPHeader.HEADER_NAMEtrong thư mục/opt/apigee/edge-message-processor/confvà kiểm tra xem thuộc tính này đã được đặt thành giá trị mới hay chưa như minh hoạ bên dưới:grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
Ví dụ: nếu bạn muốn kiểm tra xem thuộc tính
HTTPHeader.Expirescó được đặt bằng giá trị mới hay không, hãy chạy lệnh sau:grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
- Nếu giá trị mới được đặt thành công cho
HTTPHeader.HEADER_NAMEtrên Trình xử lý thông báo, thì lệnh trên sẽ cho thấy giá trị mới trong tệphttp.properties. Sau đây là kết quả mẫu của lệnh nêu trên sau khi bạn đã định cấu hình
allowDuplicatesvàmultiValued:/opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=allowDuplicates, multiValued
- Trong ví dụ về đầu ra ở trên, lưu ý rằng thuộc tính
HTTPHeader.Expiresđã được đặt bằng giá trị mớiallowDuplicates, multiValuedtronghttp.properties. Điều này cho biết rằng hành vi cho phép các giá trị trùng lặp và nhiều giá trị trongHTTPHeaderđã được định cấu hình thành công trên Trình xử lý thông báo. - Nếu bạn vẫn thấy giá trị cũ cho tài sản
HTTPHeader.HEADER_NAME, hãy xác minh rằng bạn đã làm theo tất cả các bước được nêu trong bài viết Định cấu hình allowDuplicates và nhiều giá trị cho tiêu đề một cách chính xác. Nếu bạn bỏ lỡ bước nào, hãy lặp lại tất cả các bước một cách chính xác.Đảm bảo rằng các proxy của bạn hoạt động như dự kiến, đặc biệt là nếu có logic chức năng để nhận và đặt tiêu đề trong proxy.
- Nếu bạn vẫn không thể sửa đổi tài sản, hãy liên hệ với Nhóm hỗ trợ Apigee Edge
Tắt allowDuplicates cho tiêu đề
Phần này giải thích cách định cấu hình thuộc tính HTTPHeader.{Headername} để không cho phép các giá trị trùng lặp và nhiều giá trị cho một tiêu đề HTTP cụ thể trên Trình xử lý thông báo, bằng cách sử dụng mã thông báo tương ứng theo cú pháp được mô tả trong Cách định cấu hình Edge.
Trong phần này, chúng ta sẽ sử dụng Expires (và myheader) làm tiêu đề ví dụ mà chúng ta không muốn cho phép trùng lặp như giải thích dưới đây:
-
Xác định giá trị hiện tại của thuộc tính
HTTPHeaderHEADER_NAMEđể đảm bảo rằng thuộc tính này chưa bị vô hiệu hoá để cho phép các giá trị trùng lặp và nhiều giá trị bằng cách sử dụng lệnh sau:grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
Ví dụ: nếu bạn đang cố gắng đặt thuộc tính cho tiêu đề
Expires, hãy kiểm tra giá trị hiện tại của mã thông báo thuộc tínhHTTPHeader.Expirestrên Trình xử lý thông báo:grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
Kết quả của lệnh trên sẽ là một trong những kết quả sau:
- Thuộc tính này được đặt thành giá trị trống, điều này ngụ ý rằng giá trị is bị ghi đè thành NOT để cho phép các tiêu đề trùng lặp và nhiều giá trị. Tức là bạn không được phép gửi tiêu đề
Expiresnhiều lần trong yêu cầu HTTP hoặc phản hồi HTTP đến Apigee. - Không có lượt truy cập nào cho thuộc tính cụ thể, điều đó có nghĩa là giá trị đó không bị ghi đè và đây là tiêu đề NOT có cấu hình đã tồn tại. Điều này có nghĩa là tiêu đề cụ thể có thể được gửi nhiều lần (cho phép trùng lặp) trong yêu cầu HTTP hoặc phản hồi HTTP đến Apigee Edge.
- Thuộc tính được đặt bằng giá trị
allowDuplicates, multiValued, điều đó có nghĩa là giá trị đó được ghi đè một cách rõ ràng và đây là một cấu hình hiện có. Tuy nhiên, điều này có nghĩa là tiêu đề cụ thể có thể được gửi nhiều lần (cho phép trùng lặp) trong yêu cầu HTTP hoặc phản hồi HTTP đến Apigee.
Đầu ra mẫu số 1
Đầu ra mẫu số 1 của lệnh tìm kiếm:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=allowDuplicates, multiValued
Đầu ra mẫu cho thấy thuộc tính
HTTPHeader.Expiresđược đặt thànhallowDuplicates, multiValued. Điều này có nghĩa là thuộc tính sẽ bị ghi đè để cho phép các giá trị trùng lặp hoặc nhiều giá trị cho tiêu đềExpires.Kết quả mẫu 2
Lệnh và đầu ra mẫu số 2 của lệnh tìm kiếm
grep -ri "HTTPHeader.myheader" /opt/apigee/edge-message-processor/conf
Kết quả đầu ra mẫu không cho thấy kết quả đầu ra nào, điều này ngụ ý rằng thuộc tính
HTTPHeader.myheaderđược đặt thànhallowDuplicates, multiValuedtheo mặc định. Điều này cũng ngụ ý rằng thuộc tính không bị ghi đè cho tiêu đề myheader, - Thuộc tính này được đặt thành giá trị trống, điều này ngụ ý rằng giá trị is bị ghi đè thành NOT để cho phép các tiêu đề trùng lặp và nhiều giá trị. Tức là bạn không được phép gửi tiêu đề
- Nếu bạn nhận thấy một trong những điều sau, hãy thực hiện các bước còn lại trong phần này:
- Thuộc tính tương ứng với tiêu đề cụ thể sẽ bị ghi đè để cho phép các giá trị trùng lặp và nhiều giá trị như trong Đầu ra mẫu số 1 ở trên (tiêu đề có cấu hình đã có từ trước)
- Không có lượt truy cập nào cho tài sản tương ứng với tiêu đề cụ thể như trong Đầu ra mẫu số 2 ở trên (không phải là tiêu đề có cấu hình có sẵn)
Nếu không, hãy bỏ qua các bước còn lại trong phần này.
- Chỉnh sửa tệp sau đây. Nếu chưa có, bạn có thể tạo một tài khoản.
/opt/apigee/customer/application/message-processor.properties
Ví dụ: để mở tệp bằng vi, hãy nhập nội dung sau:
vi /opt/apigee/customer/application/message-processor.properties
- Thêm một dòng theo định dạng sau vào tệp thuộc tính:
Cấu hình có từ trước
Trường hợp 1: Tiêu đề có cấu hình đã có từ trước:
conf_http_HTTPHeader.Expires=
Không có cấu hình nào từ trước
Trường hợp 2: Không phải là tiêu đề có cấu hình đã tồn tại từ trước:
conf/http.properties+HTTPHeader.myheader=
- Lưu thay đổi.
- Đảm bảo rằng tệp thuộc tính thuộc sở hữu của người dùng
apigee. Nếu không, hãy thực hiện các bước sau:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Khởi động lại Trình xử lý tin nhắn:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Để khởi động lại mà không ảnh hưởng đến lưu lượng truy cập, hãy xem phần Khởi động lại từng phần Bộ xử lý thông báo mà không ảnh hưởng đến lưu lượng truy cập.
- Nếu bạn có nhiều Trình xử lý tin nhắn, hãy lặp lại các bước trên cho tất cả Trình xử lý tin nhắn.
Xác minh tiêu đề được định cấu hình để không cho phép các giá trị trùng lặp và nhiều giá trị
Phần này giải thích cách xác minh rằng thuộc tính HTTPHeader.HEADER_NAME cho một tiêu đề cụ thể đã được cập nhật thành công để không cho phép các bản sao trên Trình xử lý thông báo.
Chúng ta sẽ dùng Expires (và myheader) làm tiêu đề mẫu và kiểm tra xem thuộc tính HTTPHeader.Expires (và HTTPHeader.myheader) tương ứng đã được cập nhật hay chưa.
Trên máy Message Processor (Bộ xử lý thông báo), hãy tìm thuộc tính
HTTPHeader.HEADER_NAMEtrong thư mục/opt/apigee/edge-message- processor/confvà kiểm tra xem thuộc tính này đã được đặt thành giá trị mới như minh hoạ bên dưới hay chưa:grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
Ví dụ: nếu muốn kiểm tra xem thuộc tính
HTTPHeader.Expirescó được đặt bằng giá trị mới hay không, thì bạn có thể chạy lệnh sau:Cấu hình có từ trước
grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
Không có cấu hình nào từ trước
grep -ri "HTTPHeader.myheader" /opt/apigee/edge-message-processor/conf
- Nếu bạn đã đặt thành công giá trị tiêu đề HTTP mới cho
HTTPHeader.HEADER_NAMEI trên Message Processor, thì lệnh trên sẽ cho thấy giá trị mới trong tệphttp.properties. - Sau khi bạn tắt
allowDuplicates, kết quả mẫu của lệnh trên sẽ như sau:Cấu hình có từ trước
Tình huống 1: Tiêu đề Hết hạn (tiêu đề có cấu hình có sẵn)
/opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=
Không có cấu hình nào từ trước
Trường hợp 2: Tiêu đề myheader (không phải tiêu đề có cấu hình sẵn)
/opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.myheader=
- Trong ví dụ về đầu ra ở trên, lưu ý rằng thuộc tính
HTTPHeader.Expires( vàHTTPHeader.myheader) đã được đặt thành giá trị mới {blank}tronghttp.properties. Điều này cho biết rằng hành vi cho phép các giá trị trùng lặp và nhiều giá trị cho tiêu đề HTTP cụ thểExpires(vàmyheader) đã được vô hiệu hoá thành công trên Trình xử lý thông báo. Nếu bạn vẫn thấy giá trị cũ cho tài sản
HTTPHeader.Expires (or HTTPHeader.myheader), hãy xác minh rằng bạn đã làm theo tất cả các bước được nêu trong phần Định cấu hình allowDuplicates và nhiều giá trị cho tiêu đề một cách chính xác. Nếu bạn bỏ lỡ bước nào, hãy lặp lại tất cả các bước một cách chính xác.Đảm bảo rằng các proxy của bạn hoạt động như dự kiến, đặc biệt là nếu có logic chức năng để nhận và đặt tiêu đề trong proxy.
- Nếu bạn vẫn không thể sửa đổi tài sản, hãy liên hệ với Nhóm hỗ trợ Apigee Edge.