Cấu hình kênh gRPC của Pub/Sub Java cho HTTP CONNECT
Cài đặt ProxyDetector qua nhà cung cấp kênh GAX, giữ nguyên địa chỉ đích và danh tính TLS của Pub/Sub.
Dùng nhà cung cấp kênh của ứng dụng khách đã tạo khi kết nối Pub/Sub Java gRPC cần proxy HTTP CONNECT. Cấu hình URLConnection thông thường không thiết lập cấu hình kênh này.
Đối với ứng dụng khách topic-admin:
var channelProvider = TopicAdminSettings
.defaultGrpcTransportProviderBuilder()
.setChannelConfigurator(channel -> channel.proxyDetector(target ->
HttpConnectProxiedSocketAddress.newBuilder()
.setProxyAddress(new InetSocketAddress("proxy.example", 8080))
.setTargetAddress((InetSocketAddress) target)
.setUsername(proxyUser)
.setPassword(proxyPassword)
.build()))
.build();
var settings = TopicAdminSettings.newBuilder()
.setTransportChannelProvider(channelProvider)
.build();
try (TopicAdminClient client = TopicAdminClient.create(settings)) {
// Perform the application's intended topic-admin operation here.
}TopicAdminClient và TopicAdminSettings là các lớp Pub/Sub v1; HttpConnectProxiedSocketAddress đến từ io.grpc và InetSocketAddress từ java.net. Ví dụ giả định đích là địa chỉ internet thông thường mà kênh này dùng.
Bộ phát hiện trả về địa chỉ kết nối proxy cùng với đích gốc. Trình tạo gRPC yêu cầu địa chỉ proxy phải được phân giải. Hãy để điểm cuối dịch vụ là Pub/Sub: thay nó bằng tên máy chủ proxy sẽ mất đích dịch vụ và danh tính TLS dự kiến.
Loại bỏ các lệnh gọi tên người dùng/mật khẩu cho proxy không xác thực; các ứng viên HTTP công khai có trong danh sách proxy HTTP. Những lệnh gọi đó là giao diện thông tin xác thực HTTP CONNECT, không phải SOCKS hay triển khai NTLM chung.
Nếu lỗi xảy ra trước thao tác gRPC trong khi thông tin xác thực được tạo riêng vẫn lấy được token, hãy kiểm tra tuyến HTTP của thông tin xác thực đó. Nó nằm ngoài nhà cung cấp kênh được hiển thị ở đây.