Đị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 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ó ngoại lệ và được phép có nội dung 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 đề nhất định được liệt kê trong phần 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 Request kèm theo mã lỗi protocol.http.DuplicateHeader nếu máy khách nhiều lần gửi một yêu cầu HTTP có tiêu đề cụ thể hoặc gửi 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 với 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 nên dùng để xử lý những lỗi này là sửa ứng dụng khách và máy chủ phụ trợ để không gửi các tiêu đề trùng lặp và tuân thủ quy cách 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ể muốn thêm trường hợp ngoại lệ để bao gồ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 tiêu đề trùng lặp và nhiều giá trị cho một tiêu đề HTTP cụ thể bằng cách đặ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.

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

Apigee Edge cung cấp hai thuộc tính sau để kiểm soát hành vi cho phép 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 Trình xử lý thông báo bằ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 tất cả tiêu đề HTTP có được phép trùng lặp hoặc có nhiều giá trị hay không, bao gồm cả tiêu đề tuỳ chỉnh được gửi trong yêu cầu HTTP do ứng dụng 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:

multiValued, allowDuplicates,

  1. blank: Không được phép 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 đề. Bạn có thể sử dụng nhiều giá trị cho tiêu đề HTTP, nhưng không được sử dụng giá trị trùng lặp. Giá trị multiValued được bật, nghĩa là test-header=a,b sẽ được chuyển đổi thành test-header=atest-header=b.
  3. allowDuplicates: Cho phép nhiều (tiêu đề HTTP trùng lặp) có cùng tên.
  4. multiValued, allowDuplicates: Cho phép cả nhiều giá trị và giá trị 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.

Tiêu đề không được phép có nội dung trùng lặp và có nhiều giá trị

Như đã giải thích trước đó, theo mặc định, Apigee Edge cho phép sử dụng dữ liệu 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 bằng 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ẽ được ghi đè bằng một trong các phương thức sau:

  • HTTPHeader.HEADER_NAME=multiValued, allowDuplicates

    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ó 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 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ó giá trị trùng lặp và nhiều giá trị

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

  • Các tiêu đề cụ thể không được có giá trị trùng lặp và nhiều giá trị trong chế độ thiết lập Apigee Edge Private Cloud và
  • Các tiêu đề cụ thể có cấu hình hiện có
  1. Trên máy Trình xử lý thông báo, hãy tìm thuộc tính HTTPHeader. trong thư mục /opt/apigee/edge-message-processor/conf như sau:

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

    Kết quả 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>
  2. Như đã giải thích trong phần Cấu hình bị ghi đè, hãy lưu ý thông tin sau trong kết quả mẫu ở trên:
    1. Tiêu đề HTTP Connection sẽ bị ghi đè, nhưng được phép có giá trị trùng lặp và nhiều giá trị
    2. Tiêu đề HTTP HostExpires sẽ bị ghi đè và không được phép có giá trị trùng lặp và nhiều giá trị
    3. Tiêu đề HTTP Date được ghi đè và được phép có giá trị trùng lặp nhưng không được phép có nhiều giá trị
    4. Tất cả cá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 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 định cấu hình các thuộc tính HTTPHeader trên Trình xử lý thông báo với ví dụ HTTPHeadertest-header.

Yêu cầu Đầu vào đầu ra đi dựa trên giá trị của conf/http.properties+HTTPHeader.test-header=
<Trống> allowDuplicates multiValued allowDuplicates, 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,

và sau đó lỗi DuplicateHeader sẽ được gửi.

test‑header=a,b

Trong nội bộ, chúng ta chia 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 đến 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ư, theo mô tả trong bài viết 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 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ả các tiêu đề đều được phép có giá trị trùng lặp và nhiều giá trị trong Apigee Edge. Tuy nhiên, có một số tiêu đề nhất định có giá trị được ghi đè rõ ràng để không cho phép 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 trùng lặp và nhiều giá trị cho bất kỳ tiêu đề HTTP nào 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 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 đề mẫu 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:

  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 đượ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 đặ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 HTTPHeader.Expires của 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ả đầu ra của lệnh ở trên dẫn đến một trong các kết quả sau:

    1. Thuộc tính được đặt thành trống, sau đó ngụ ý rằng giá trị được 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ị. Tức 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 cho Apigee.
    2. Nếu 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). Đ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.
    3. Thuộc tính được đặt bằng giá trị allowDuplicates, multiValued, nghĩa là giá trị đó được ghi đè rõ ràng (và đây 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.

    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. Điều này có nghĩa là thuộc tính sẽ bị ghi đè để không cho phép giá trị trùng lặp hoặc nhiều giá trị cho 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ể được ghi đè rõ ràng để không cho phép giá trị trùng lặp hoặc nhiều giá trị như trong đầu ra ví dụ ở trên, chỉ khi đó hãy thực hiện các bước sau. Nếu tệp này 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. Nếu chưa có, bạn có thể tạo nhóm này:
    /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
    
  4. Thêm một dòng theo định dạng 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 là do người dùng apigee sở hữu. Nếu không, hãy thực thi lệnh sau:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  7. Khởi động lại Trình 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 phần Khởi động lại liên tục Trình xử lý tin nhắn 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 trên tất cả Trình xử lý thông báo.

Xác minh tiêu đề được định cấu hình để có 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 để cho phép trùng lặp trên Trình xử lý thông báo.

Chúng ta sẽ 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 Trình 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 đặt với giá trị mới hay chưa.

  1. Trên máy Trình xử lý thông báo, hãy tìm thuộc tính HTTPHeader.HEADER_NAME trong thư mục /opt/apigee/edge-message-processor/conf và kiểm tra xem thuộc tính này có được đặt giá trị mới như bên dưới hay không:
    grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
    

    Ví dụ: nếu bạn muốn kiểm tra để đảm bảo rằng thuộc tính HTTPHeader.Expires được đặt bằng giá trị mới, 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 Trình 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 từ 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ả của 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. Điều này 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 Trình 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 xác minh rằng bạn đã làm theo đúng tất cả các bước nêu 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 chính xác tất cả các bước đó.

    Đảm bảo rằng proxy của bạn hoạt động như mong đợi, đặc biệt là nếu 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 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 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, sử dụng mã thông báo tương ứng theo cú pháp được mô tả trong phần 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 bên dưới:

  1. 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ị tắt để cho phép 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ính HTTPHeader.Expires trên Trình xử lý thông báo:

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

    Kết quả đầu ra của lệnh ở trên dẫn đến một trong các kết quả sau:

    1. Thuộc tính này được đặt thành trống, sau đó ngụ ý rằng giá trị is được ghi đè để KHÔNG cho phép 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 đề Expires nhiều lần trong yêu cầu HTTP hoặc phản hồi HTTP đến Apigee.
    2. Nếu 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 có cấu hình hiện 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 Edge.
    3. Thuộc tính được đặt với giá trị allowDuplicates, multiValued, thì điều đó có nghĩa là giá trị đó được ghi đè 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.

    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. Điều này có nghĩa là thuộc tính 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, điều này có nghĩa là thuộc tính HTTPHeader.myheader được đặt thành allowDuplicates, multiValued theo mặc định. Điều này cũng ngụ ý rằng thuộc tính không bị ghi đè cho tiêu đề myheader,

  2. Nếu bạn nhận thấy một trong những vấn đề sau, 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 các mục 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 có sẵn)
    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. Nếu chưa có, bạn có thể tạo chiến dịch đó.
    /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 có sẵn

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

    conf_http_HTTPHeader.Expires=

    Không có cấu hình nào trướ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 là do người dùng apigee sở hữu. Nếu không, hãy thực thi các lệnh sau:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  7. Khởi động lại Trình 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 phần Khởi động lại liên tục Trình xử lý tin nhắn 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 trên tất cả Trình xử lý thông báo.

Xác minh tiêu đề được định cấu hình để không cho phép 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 trùng lặp trên Trình xử lý thông báo.

Chúng ta sẽ 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 Trình xử lý thông báo, hãy tìm thuộc tính HTTPHeader.HEADER_NAME trong thư mục /opt/apigee/edge-message- processor/conf và kiểm tra xem thuộc tính này đã được đặt 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 thuộc tính HTTPHeader.Expires được đặt bằng giá trị mới, bạn có thể chạy lệnh sau:

    Cấu hình có sẵn

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

    Không có cấu hình nào trướ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 Trình 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 từ lệnh trên sau khi bạn tắt allowDuplicates như sau:

    Cấu hình có sẵn

    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 trước đó

    Tình huống #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=
  4. Trong kết quả ví dụ trên, hãy lưu ý rằng thuộc tính HTTPHeader.Expires ( và HTTPHeader.myheader ) đã được đặt với giá trị mới {blank} trong http.properties. Điều này cho biết rằng hành vi cho phép trùng lặp và nhiều giá trị cho tiêu đề HTTP cụ thể Expires (và myheader) đã được tắt thành công trên Trình 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 xác minh rằng bạn đã làm theo đúng tất cả các bước nêu 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 một cách chính xác.

    Đảm bảo rằng proxy của bạn hoạt động như mong đợi, đặc biệt là nếu 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 Edge.