Điểm:0

Viết lại và đệm URL phản hồi trong proxy ngược

lá cờ id

Hiện tại chúng tôi có một giải pháp phần mềm cần gọi về nhà, ví dụ: để cập nhật tự động, nó cần liên hệ với cơ quan đăng ký vùng chứa Azure. Chúng tôi bị hạn chế chỉ có các kết nối gửi đi đến ví dụ.com, tất cả các kết nối gửi đi khác đều bị chặn bởi tường lửa của khách hàng.Do đó, tất cả các kết nối mà chúng tôi cần để vận hành phần mềm đều phải thông qua proxy ngược của chúng tôi.

Do đó, chúng tôi đã tạo một proxy ngược như ví dụ.com/acr/* cái nào ủy quyền kết nối tới ví dụ.azurecr.io. Đó là tất cả làm việc tốt. Vấn đề tôi gặp phải là tôi phải làm gì với các URL trả về trong câu trả lời?

Ví dụ: bằng cách yêu cầu hình ảnh docker qua example.com/arc/something Tôi nhận được phản hồi như thế này, cho docker biết nơi lưu trữ các đốm màu docker container.

HTTP/1.1 307 Chuyển hướng tạm thời
Vị trí: https://weumanaged131.blob.core.windows.net/...e5698526-1gpll71q59//docker/registry/v2/blobs/sha256/a8/a87a....

Rõ ràng là tôi không thể kết nối với URL này, vì tôi bị hạn chế ví dụ.com.

Câu hỏi: Bằng cách nào đó có thể viết lại và lưu trữ các URL phản hồi bằng một URL như sau: example.com/acr/<UUID>(với một UUID ngẫu nhiên)? Khi gọi URL này thông qua proxy ngược, proxy ngược sẽ ủy quyền URL tới URL vị trí ban đầu như được hiển thị ở trên. Nếu có một giải pháp khác để chuyển hướng các URL phản hồi thông qua proxy ngược của tôi, thì tôi rất vui khi được nghe giải pháp đó.

Là một cái gì đó như thế này thậm chí có thể với nginx? Tôi không bị hạn chế đối với nginx, nếu một số giải pháp khác có thể giải quyết vấn đề này.

Cảm ơn bạn, Philipp

Chỉnh sửa: Để làm rõ mọi thứ, giải pháp phần mềm được cài đặt trên một máy bên trong mạng của khách hàng. Mạng khách hàng chỉ cho phép các kết nối gửi đi đến www.example.com từ chiếc máy đặc biệt này. Proxy đảo ngược được cài đặt trên máy chủ trong mạng của chúng tôi (trong trường hợp này là trong mạng đám mây Azure của chúng tôi). Do đó, chúng tôi không thể gọi các tên miền khác từ máy này.

Điểm:0
lá cờ fk

Tôi không chắc mình có theo dõi toàn bộ nội dung đó không, nhưng nếu bạn có proxy, tại sao mọi thứ không được chuyển qua proxy? Tại sao cuộc gọi đến weumanaged131.blob.core.windows.net không đi qua proxy?

Chỉ để thử nghiệm, trong môi trường linux, proxy có thể được đặt cho bất kỳ chương trình/dịch vụ nào thông qua các biến http_proxy và https_proxy. Có thể thêm chúng vào đầu tập lệnh dịch vụ sẽ thực hiện thủ thuật. Ví dụ. xuất http_proxy=http://proxy:port Và nếu nó yêu cầu xác thực người dùng: xuất http_proxy=http://username:password@proxy:port Trong trường hợp docker, có nhiều thủ thuật hơn hoặc có thể yêu cầu các biến chữ in hoa: HTTP_PROXY và HTTPS_PROXY.

phiob avatar
lá cờ id
Cảm ơn câu trả lời của bạn, nhưng tôi nghĩ rằng tôi đã không giải thích điều gì đó tốt. Tôi chỉnh sửa bài viết để làm cho mọi thứ rõ ràng. Nói chung, chúng tôi chưa cài đặt proxy trên máy chủ của mình, chỉ là proxy ngược cho các cuộc gọi đến các url cụ thể.
djdomi avatar
lá cờ za
hoặc đăng url hoặc ẩn nó, đối với tôi, có vẻ như azurecr.io có thể là miền?
Điểm:0
lá cờ us

Bạn cần sử dụng proxy chuyển tiếp như Squid, không phải proxy ngược như nginx.

Cài đặt Squid trên www.example.com máy chủ và định cấu hình giải pháp phần mềm của bạn để sử dụng proxy chuyển tiếp tại www.example.com.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.