Định cấu hình proxy chuyển tiếp

Proxy chuyển tiếp cung cấp một điểm duy nhất mà qua đó nhiều máy gửi yêu cầu đến một máy chủ bên ngoài. Các dịch vụ này có thể thực thi chính sách bảo mật, ghi nhật ký và phân tích yêu cầu, cũng như thực hiện các hành động khác để yêu cầu tuân thủ các quy tắc kinh doanh của bạn. Với Edge, một proxy chuyển tiếp thường trung gian cho các proxy API của bạn và một TargetEndpoint bên ngoài (máy chủ mục tiêu phụ trợ).

Để sử dụng proxy chuyển tiếp HTTP giữa Edge và TargetEndpoint, bạn phải định cấu hình chế độ cài đặt proxy gửi đi trên Bộ xử lý thông báo (MP). Các thuộc tính này định cấu hình MP để định tuyến các yêu cầu mục tiêu từ Edge đến proxy chuyển tiếp HTTP.

Cách định cấu hình MP để chuyển tiếp proxy:

  1. Trên MP, hãy chỉnh sửa tệp sau:
    /opt/apigee/customer/application/message-processor.properties

    Nếu tệp message-processor.properties không tồn tại, hãy tạo tệp đó.

  2. Chỉnh sửa tệp để đặt các thuộc tính liên quan đến proxy được mô tả trong bảng dưới đây.
  3. Đảm bảo rằng tệp thuộc tính thuộc sở hữu của người dùng "apigee":
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Lưu các thay đổi vào tệp thuộc tính.
  5. Khởi động lại MP, như trong ví dụ sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Bảng sau đây mô tả các thuộc tính trong tệp message-processor.properties mà bạn dùng để định cấu hình MP cho proxy chuyển tiếp đến máy chủ phụ trợ:

Thuộc tính Mô tả
conf_http_HTTPClient.use.proxy

Cho phép sử dụng proxy chuyển tiếp. Giá trị mặc định là true, nghĩa là bạn có thể sử dụng proxy chuyển tiếp ở lớp proxy API bằng cách đưa XML có liên quan vào cấu hình gói.

Nếu đặt giá trị này thành false, thì bạn không thể sử dụng proxy chuyển tiếp.

conf_http_HTTPClient.use.tunneling

Theo mặc định, Edge sử dụng tính năng tạo đường hầm cho tất cả lưu lượng truy cập. Để tắt tính năng tạo đường hầm theo mặc định, hãy đặt thuộc tính này thành "false".

use.proxy.host.header.with.target.uri

Đặt máy chủ và cổng đích làm tiêu đề Host. Theo mặc định, máy chủ proxy và cổng được đặt làm tiêu đề Host. Bạn chỉ có thể đặt thuộc tính này trong Điểm cuối mục tiêu. Ví dụ:

<HTTPTargetConnection>
    <Properties>
        <Property name="use.proxy.host.
         header.with.target.uri">true
        </Property>
    </Properties>
    <URL>https://mocktarget.apigee.net/
     my-target</URL>
</HTTPTargetConnection>
conf/http.properties+HTTPClient.proxy.type

Chỉ định loại proxy HTTP là HTTP hoặc HTTPS. Theo mặc định, giao thức này sử dụng "HTTP".

conf/http.properties+HTTPClient.proxy.host

Chỉ định tên máy chủ lưu trữ hoặc địa chỉ IP nơi proxy HTTP đang chạy.

conf/http.properties+HTTPClient.proxy.port

Chỉ định cổng mà proxy HTTP đang chạy. Nếu thuộc tính này bị bỏ qua, thì theo mặc định, thuộc tính này sẽ sử dụng cổng 80 cho HTTP và cổng 443 cho HTTPS.

conf/http.properties+HTTPClient.proxy.user
conf/http.properties+HTTPClient.proxy.password

Nếu proxy HTTP yêu cầu xác thực cơ bản, hãy sử dụng các thuộc tính này để cung cấp thông tin chi tiết về việc uỷ quyền.

Ví dụ:

conf_http_HTTPClient.use.proxy=true
conf_http_HTTPClient.use.tunneling=false
conf/http.properties+HTTPClient.proxy.type=HTTP
conf/http.properties+HTTPClient.proxy.host=my.host.com
conf/http.properties+HTTPClient.proxy.port=3128
conf/http.properties+HTTPClient.proxy.user=USERNAME
conf/http.properties+HTTPClient.proxy.password=PASSWORD

Nếu bạn định cấu hình tính năng chuyển tiếp proxy cho MP, thì tất cả lưu lượng truy cập từ proxy API đến mục tiêu phụ trợ sẽ đi qua proxy chuyển tiếp HTTP được chỉ định. Nếu lưu lượng truy cập cho một mục tiêu cụ thể của proxy API phải chuyển thẳng đến mục tiêu phụ trợ, bỏ qua proxy chuyển tiếp, thì hãy đặt thuộc tính sau trong TargetEndpoint để ghi đè proxy chuyển tiếp HTTP:

<Property name="use.proxy">false</Property>

Để biết thêm thông tin về cách đặt thuộc tính TargetEndpoint, bao gồm cả cách định cấu hình kết nối với điểm cuối mục tiêu, hãy xem phần Tài liệu tham khảo về thuộc tính điểm cuối.

Để tắt tính năng chuyển tiếp proxy cho tất cả mục tiêu theo mặc định, hãy đặt thuộc tính sau trong tệp message-processor.properties:

conf_http_HTTPClient.use.proxy=false

Sau đó, hãy đặt use.proxy thành "true" cho mọi TargetEndpoint mà bạn muốn chuyển qua proxy chuyển tiếp HTTP:

<Property name="use.proxy">true</Property>

Theo mặc định, Edge sử dụng tính năng tạo đường hầm cho lưu lượng truy cập đến proxy. Để tắt tính năng tạo đường hầm theo mặc định, hãy đặt thuộc tính sau trong tệp message-processor.properties:

conf_http_HTTPClient.use.tunneling=false

Nếu bạn muốn tắt tính năng tạo đường hầm cho một mục tiêu cụ thể, hãy đặt thuộc tính use.proxy.tunneling trong TargetEndpoint. Nếu mục tiêu sử dụng TLS/SSL, thì thuộc tính này sẽ bị bỏ qua và thông báo luôn được gửi qua một đường hầm:

<Property name="use.proxy.tunneling">false</Property>

Để Edge tự hoạt động như một proxy chuyển tiếp (nhận yêu cầu từ các dịch vụ phụ trợ và định tuyến các yêu cầu đó đến Internet bên ngoài doanh nghiệp), trước tiên, hãy thiết lập một proxy API trên Edge. Sau đó, dịch vụ phụ trợ có thể gửi yêu cầu đến proxy API, rồi proxy API có thể kết nối với các dịch vụ bên ngoài.