Định cấu hình trình xử lý thông báo để cho phép tiêu đề trùng lặp

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Theo thông số kỹ thuật HTTP RFC 7230, mục 3.2.2: Thứ tự trường, Apigee Edge dự kiến rằng yêu cầu HTTP từ ứng dụng khách hoặc phản hồi HTTP từ máy chủ phụ trợ không được chứa cùng một tiêu đề được truyền nhiều lần với cùng giá trị hoặc giá trị khác nhau, trừ phi tiêu đề cụ thể có ngoại lệ và được phép trùng lặp.

Theo mặc định, Apigee Edge cho phép truyền nhiều giá trị trùng lặp và nhiều giá trị đến hầu hết các tiêu đề HTTP. Tuy nhiên, chính sách này không cho phép một số tiêu đề được liệt kê trong phần Tiêu đề không được phép có nhiều giá trị và tiêu đề trùng lặp. Vì thế:

  • Bạn sẽ nhận được 400 Bad Request kèm theo mã lỗi protocol.http.DuplicateHeader nếu ứng dụng khách gửi một yêu cầu HTTP có tiêu đề cụ thể nhiều lần hoặc kèm theo 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 Gateway kèm theo mã lỗi protocol.http.DuplicateHeader nếu máy chủ phụ trợ gửi 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 trùng lặp hoặc có nhiều giá trị trong Apigee Edge

Giải pháp đề 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ủ thông số kỹ thuật RFC 7230, mục 3.2.2: Thứ tự trường như được giải thích trong cẩm nang khắc phục sự cố sau đây:

Tuy nhiên, trong một số trường hợp, bạn có thể cần thêm một trường hợp ngoại lệ để thêm các bản sao và nhiều giá trị cho 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 đề và nhiều giá trị trùng lặp 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ề tài sản này, giải thích cách bật tài sản này để tránh các lỗi nêu trên và chia sẻ các phương pháp hay nhất về cùng một cách.

Thuộc tính tiêu đề HTTP để cho phép trùng lặp và có nhiều giá trị

Apigee Edge cung cấp 2 thuộc tính sau đây để kiểm soát hành vi cho phép trùng lặp và nhận nhiều giá trị cho các tiêu đề HTTP. Xin lưu ý rằng bạn chỉ có thể định cấu hình các trình xử lý thông báo này trên Trình xử lý thông báo bằng cú pháp mã thông báo được giải thích trong Cách định cấu hình Edge.

Tên tài sản Nội dung mô tả Các giá trị được phép
HTTPHeader.ANY

Thuộc tính này cho biết liệu có cho phép trùng lặp hoặc nhiều giá trị đối với tất cả tiêu đề HTTP, bao gồm cả tiêu đề tuỳ chỉnh được gửi trong yêu cầu HTTP do ứng dụng khách thực hiện hay phản hồi HTTP do máy chủ phụ trợ gửi tới Apigee Edge hay không.

Giá trị mặc định:

multivalued, allowDuplicate,

  1. blank: Không được phép sử dụng nhiều giá trị trùng lặp và nhiều giá trị cho tiêu đề HTTP.
  2. multiValued: Chia tiêu đề có nhiều giá trị thành nhiều tiêu đề. Tiêu đề HTTP được phép sử dụng nhiều giá trị, nhưng không được phép trùng lặp. Giá trị multiValued được bật, tức là test-header=a,b sẽ được chuyển đổi thành test-header=atest-header=b.
  3. allowDuplicate: Cho phép nhiều tiêu đề HTTP (trùng lặp) có cùng tên.
  4. multivalued, allowDuplicate: Cho phép sử dụng cả nhiều giá trị và dữ liệu trùng lặp đối với tiêu đề HTTP.

HTTPHeader.HEADER_NAME

Thuộc tính này dùng để ghi đè hành vi của một tiêu đề cụ thể từ nội dung do HTTPHeader.ANY chỉ định

Giống như trên.

Các tiêu đề không được phép có nhiều giá trị và trùng lặp

Như đã giải thích trước đó, Apigee Edge cho phép sử dụng trùng lặp và nhiều giá trị cho hầu hết tiêu đề HTTP theo mặc định. Nguyên nhân là do thuộc tính HTTPHeader.ANY được định cấu hình bằng giá trị multivalued, allowDuplicate.

Đã ghi đè cấu hình

Đố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, allowDuplicate

    Cấ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ó dữ liệu trùng lặp và có nhiều giá trị

    .
  • HTTPHeader.HEADER_NAME=

    Cấu hình này thay đổi hành vi mặc định. Điều này nghĩa là tiêu đề cụ thể này không được phép có giá trị trùng lặp và nhiều giá trị.

Xác định các tiêu đề không được phép có nhiều giá trị trùng lặp

Phần này mô tả cách xác định những vấn đề sau:

  • Các tiêu đề cụ thể không được phép trùng lặp và có nhiều giá trị khi thiết lập Đám mây riêng tư Apigee Edge, và
  • Các tiêu đề cụ thể với cấu hình sẵn có
  1. Trên máy xử lý thư, hãy tìm kiếm thuộc tính HTTPHeader. trong thư mục /opt/apigee/edge-message-processor/conf như minh hoạ dưới đây:

    grep -ri "HTTPHeader." /opt/apigee/edge-message-processor/conf
    

    Ví dụ về mã được tạo:

    # 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>
    
  2. Như đã giải thích trong phần Ghi đè cấu hình, hãy lưu ý những thông tin sau trong kết quả mẫu ở trên:
    1. Tiêu đề HTTP Connection đã bị ghi đè, nhưng được phép có dữ liệu trùng lặp và nhiều giá trị
    2. Các tiêu đề HTTP HostExpires đã bị ghi đè và không được phép chứa dữ liệu trùng lặp và có nhiều giá trị
    3. Tiêu đề HTTP Date bị ghi đè và được phép trùng lặp nhưng không được phép có nhiều giá trị
    4. Tất cả tiêu đề xuất hiện ở đây (Connection, Host, ExpiresDate trong 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.

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 trùng lặp 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ý tin nhắn, ví dụ HTTPHeader mẫu là test-header.

Yêu cầu Tên người dùng đi kèm dựa trên giá trị của conf/http.properties+HTTPHeader.test-header=
<Trống> allowDuplicate multiValued allowDuplicate, multiValued (MẶC ĐỊNH)
test‑header=a,b test‑header=a,b test‑header=a,b

protocol.http.
DuplicateHeader

Trong nội bộ, chúng tôi đã tách test-header=a,b thành:

  • test-header=a
  • test-header=b,

sau đó, lỗi DuplicateHeader được gửi.

test‑header=a,b

Trong nội bộ, chúng tôi đã tách test-header=a,b thành:

  • test-header=a
  • test-header=b,

nhưng sau đó, biểu mẫu ban đầu sẽ được gửi để nhắm mục tiêu.

test‑header=a
test‑header=b
protocol.http.
DuplicateHeader
test‑header=a
test‑header=b
protocol.http.
DuplicateHeader
test‑header=a
test‑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 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 tư, được mô tả trong 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 các thuộc tính tiêu đề HTTP cho phép 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 trùng lặp và có nhiều giá trị trong Apigee Edge. Tuy nhiên, một số tiêu đề có các giá trị 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 thi bằ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 tiêu đề HTTP trùng lặp và nhiều giá trị như vậy trên Bộ 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ẽ dùng Expires (và myheader) làm tiêu đề mẫu mà chúng ta muốn cho phép các trường hợp trùng lặp và có nhiều giá trị, như giải thích dưới đây:

  1. Xác định giá trị hiện tại của thuộc tính HTTPHeaderHEADER_NAME để đảm bảo thuộc tính này chưa được bật để cho phép trùng lặp và nhiều giá trị bằ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 thiết lập 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 HTTPHeader.Expires thuộc tính trê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 dẫn đến một trong các kết quả sau:

    1. Nếu thuộc tính này được đặt thành trống, thì tức là giá trị bị ghi đè (và đây là tiêu đề có cấu hình có sẵn) để KHÔNG cho phép tiêu đề trùng lặp và nhiều giá trị. Nghĩa là, bạn không được phép gửi tiêu đề Expires nhiều lần trong yêu cầu HTTP hoặc phản hồi HTTP tới Apigee.
    2. Không có lượt truy cập nào cho thuộc tính cụ thể, 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). Tức là có thể gửi tiêu đề cụ thể nhiều lần (cho phép sử dụng tiêu đề trùng lặp) trong yêu cầu HTTP hoặc phản hồi HTTP tới Apigee Edge.
    3. Thuộc tính này được đặt bằng giá trị allowDuplicates, multivalued thì 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 có sẵn). Tức là có thể gửi tiêu đề cụ thể nhiều lần (cho phép sử dụng tiêu đề trùng lặp) trong yêu cầu HTTP hoặc phản hồi HTTP tới Apigee.

    Kết quả 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. Tức là thuộc tính bị ghi đè thành không cho phép trùng lặp hoặc có nhiều giá trị đối với tiêu đề Expires.

  2. Nếu bạn nhận thấy thuộc tính tương ứng với tiêu đề cụ thể bị ghi đè rõ ràng thành không cho phép trùng lặp hoặc nhiều giá trị như trong kết quả ví dụ ở trên, chỉ khi đó mới thực hiện các bước sau. Nếu mã không được ghi đè rõ ràng, hãy bỏ qua các bước còn lại trong phần này.
  3. Chỉnh sửa danh sách phát. Nếu chưa có, bạn có thể tạo kho lưu trữ:
    /opt/apigee/customer/application/message-processor.properties
    

    Ví dụ: để mở tệp bằng vi, hãy nhập như sau:

    vi /opt/apigee/customer/application/message-processor.properties
    
  4. Thêm một dòng theo định dạng như sau:
    conf_http_HTTPHeader.Expires=allowDuplicates, multiValued
    
  5. Lưu các thay đổi.
  6. Đảm bảo rằng tệp thuộc tính do người dùng apigee sở hữu. Nếu chưa, hãy thực thi lệnh sau:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  7. Khởi động lại Bộ xử lý thư:

    /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 bài viết Khởi động lại lần lượt Bộ xử lý thông báo mà không ảnh hưởng đến lưu lượng truy cập.

  8. Nếu bạn có nhiều Trình xử lý thông báo, hãy lặp lại các bước trên cho tất cả các Trình xử lý thông báo.

Việc xác minh tiêu đề được định cấu hình có các mục trùng lặp và có 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 trùng lặp trên Bộ xử lý thông báo.

Chúng tôi 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ù sử dụng mã thông báo conf_http_HTTPHeader.Expires để cập nhật giá trị trên Bộ xử lý thông báo, nhưng bạn vẫn cần xác minh xem thuộc tính thực tế HTTPHeader.Expires đã được thiết lập với giá trị mới hay chưa.

  1. Trên máy xử lý thư, hãy tìm thuộc tính HTTPHeader.HEADER_NAME trong thư mục /opt/apigee/edge-message-processor/conf rồi kiểm tra xem thuộc tính này đã được thiết lập bằng giá trị mới hay chưa:
    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.Expires có đượ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
    
  2. Nếu bạn đặt thành công giá trị mới cho HTTPHeader.HEADER_NAME trên Bộ xử lý thông báo, thì lệnh trên sẽ hiển thị giá trị mới trong tệp http.properties.
  3. Kết quả mẫu của lệnh trên sau khi bạn đã định cấu hình allowDuplicatesmultiValued như sau:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=allowDuplicates, multiValued
    
  4. Trong kết quả ví dụ ở trên, hãy lưu ý rằng thuộc tính HTTPHeader.Expires đã được thiết lập bằng giá trị mới allowDuplicates, multiValued trong http.properties. Đây là dấu hiệu cho biết hành vi cho phép trùng lặp và nhiều giá trị trong HTTPHeader đã được định cấu hình thành công trên Bộ xử lý thông báo.
  5. Nếu bạn vẫn thấy giá trị cũ cho thuộc tính HTTPHeader.HEADER_NAME, hãy kiểm tra để đảm bảo bạn đã làm đúng tất cả các bước trong bài viết Định cấu hình allowDuplicates và nhiều giá trị cho tiêu đề. Nếu bạn bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước đúng cách một lần nữa.

    Đảm bảo các proxy của bạn đang hoạt động như dự kiến, đặc biệt là khi có logic chức năng để lấy và đặt tiêu đề trong proxy.

  6. Nếu bạn vẫn không thể sửa đổi tài sản thì hãy liên hệ với Nhóm hỗ trợ Apigee

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 trùng lặp và nhiều giá trị cho một tiêu đề HTTP cụ thể trên Bộ 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 tôi sẽ dùng Expires (và myheader) làm tiêu đề mẫu mà chúng tôi không muốn cho phép trùng lặp, như giải thích dưới đây:

  1. Xác định giá trị hiện tại của thuộc tính HTTPHeaderHEADER_NAME nhằm đảm bảo thuộc tính này chưa bị vô hiệu hoá để cho phép trùng lặp và nhiều giá trị bằ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 thiết lập 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 HTTPHeader.Expires thuộc tính trê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 dẫn đến một trong các kết quả sau:

    1. Nếu thuộc tính được đặt thành trống, thì tức là giá trị iđược ghi đè thành NOT để cho phép các tiêu đề và nhiều giá trị trùng lặp. Đó là bạn không được phép gửi tiêu đề Expires nhiều lần trong yêu cầu HTTP hoặc phản hồi HTTP tới Apigee.
    2. Không có lượt truy cập nào cho thuộc tính cụ thể, thì điều đó có nghĩa là giá trị đó không bị ghi đè và đây là tiêu đề KHÔNG phải có cấu hình có sẵn. Tức là có thể gửi tiêu đề cụ thể nhiều lần (cho phép sử dụng tiêu đề trùng lặp) trong yêu cầu HTTP hoặc phản hồi HTTP tới Apigee Edge.
    3. Thuộc tính này được đặt bằng giá trị allowDuplicates, multivalued, thì có nghĩa là giá trị đó bị ghi đè một cách rõ ràng và đây là một cấu hình tồn tại. 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 tới Apigee.

    Kết quả mẫu #1

    Kết quả mẫu #1 của lệnh tìm kiếm:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=allowDuplicates, multiValued
    

    Kết quả mẫu cho thấy thuộc tính HTTPHeader.Expires được đặt thành allowDuplicates, multiValued. Tức là thuộc tính sẽ bị ghi đè để cho phép trùng lặp hoặc có nhiều giá trị cho tiêu đề Expires.

    Kết quả mẫu #2

    Lệnh mẫu và Kết quả 2 của lệnh tìm kiếm

    grep -ri "HTTPHeader.myheader" /opt/apigee/edge-message-processor/conf
    

    Kết quả mẫu không cho thấy kết quả nào, tức là thuộc tính HTTPHeader.myheader được đặt thành allowDuplicates, multiValued theo mặc định. Điều này cũng có nghĩa là thuộc tính không bị ghi đè trong tiêu đề myheader,

  2. Nếu bạn nhận thấy một trong những điều sau đây, hãy thực hiện các bước còn lại trong phần này:
    1. Thuộc tính tương ứng với tiêu đề cụ thể sẽ bị ghi đè để cho phép trùng lặp và nhiều giá trị như trong Kết quả mẫu #1 ở trên (tiêu đề có cấu hình sẵn có)
    2. Không có lượt truy cập nào cho thuộc tính tương ứng với tiêu đề cụ thể như trong Kết quả mẫu #2 ở trên (không phải 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.

  3. Chỉnh sửa tệp sau đây. Nếu chưa có, bạn có thể tạo kho lưu trữ này.
    /opt/apigee/customer/application/message-processor.properties
    

    Ví dụ: để mở tệp bằng vi, hãy nhập như sau:

    vi /opt/apigee/customer/application/message-processor.properties
    
  4. Thêm một dòng theo định dạng sau vào tệp thuộc tính:

    Cấu hình sẵn có

    Tình huống 1: Tiêu đề có cấu hình có sẵn:

    conf_http_HTTPHeader.Expires=
    

    Không có cấu hình sẵn có

    Tình huống 2: Không phải tiêu đề có cấu hình có sẵn:

    conf/http.properties+HTTPHeader.myheader=
    
  5. Lưu các thay đổi.
  6. Đảm bảo rằng tệp thuộc tính do người dùng apigee sở hữu. Nếu không, hãy thực thi như sau:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  7. Khởi động lại Bộ xử lý thư:
    /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 bài viết Khởi động lại lần lượt Bộ xử lý thông báo mà không ảnh hưởng đến lưu lượng truy cập.

  8. Nếu bạn có nhiều Trình xử lý thông báo, hãy lặp lại các bước trên cho tất cả các Trình xử lý thông báo.

Việc xác minh tiêu đề được định cấu hình để không cho phép 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 trùng lặp trên Bộ 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 tương ứng HTTPHeader.Expires (và HTTPHeader.myheader) đã được cập nhật hay chưa.

  1. Trên máy xử lý thư, hãy tìm thuộc tính HTTPHeader.HEADER_NAME trong thư mục /opt/apigee/edge-message- processor/conf rồi kiểm tra xem thuộc tính này đã được thiết lập bằng giá trị mới hay chưa, như được nêu dưới đây:

    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.Expires có được đặt bằng giá trị mới hay không, bạn có thể chạy lệnh sau:

    Cấu hình sẵn có

    grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
    

    Không có cấu hình sẵn có

    grep -ri "HTTPHeader.myheader" /opt/apigee/edge-message-processor/conf
    
  2. Nếu bạn đã thiết lập thành công giá trị tiêu đề HTTP mới cho HTTPHeader.HEADER_NAME I trên Bộ xử lý thông báo, thì lệnh trên sẽ hiển thị giá trị mới trong tệp http.properties.
  3. Kết quả mẫu của lệnh trên sau khi bạn tắt allowDuplicates như sau:

    Cấu hình sẵn có

    Tình huống 1: Tiêu đề hết hạn (tiêu đề có cấu hình sẵn có)

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=
    

    Không có cấu hình sẵn có

    Tình huống 2: Tiêu đề myheader (không phải là tiêu đề có cấu hình sẵn có)

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.myheader=
    
  4. Trong kết quả của ví dụ ở trên, hãy lưu ý rằng thuộc tính HTTPHeader.Expires ( và HTTPHeader.myheader ) đã được đặt bằng giá trị mới {blank} trong http.properties. Đây là dấu hiệu cho biết đã tắt thành công hành vi cho phép trùng lặp và nhiều giá trị cho tiêu đề HTTP Expires (và myheader) trên Bộ xử lý thông báo.
  5. Nếu bạn vẫn thấy giá trị cũ cho thuộc tính HTTPHeader.Expires (or HTTPHeader.myheader), hãy kiểm tra để đảm bảo bạn đã làm đúng tất cả các bước trong phần Định cấu hình allowDuplicates và nhiều giá trị cho tiêu đề. Nếu bạn bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước đúng cách một lần nữa.

    Đảm bảo các proxy của bạn đang hoạt động như mong đợi, đặc biệt là khi có logic chức năng để lấy và đặt tiêu đề trong proxy.

  6. 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.