Tôi có một thiết lập proxy ngược để truy cập vào ứng dụng của bên thứ ba nằm trong mạng nội bộ từ internet. Giả sử ứng dụng này có trên URL:
https://internalserver:8080/
(chỉ có thể truy cập từ mạng nội bộ)
và proxy là trên:
https://proxyserver/
(có thể truy cập từ bất kỳ nơi nào trên thế giới)
Proxy được quản lý bởi nginx và đang hoạt động tốt. Khi người dùng truy cập, https://proxyserver/
họ nhận được nội dung của ứng dụng tại https://internalserver:8080/
.
Vấn đề là ứng dụng đang viết URL tuyệt đối trong phản hồi HTML, vì vậy, khi người dùng nhấp vào liên kết đến một trang mới, trình duyệt đang cố định vị trang có tên nội bộ, ví dụ
https://internalserver:8080/somepage
thay vì
https://proxyserver/somepage
.
Tôi biết đây là một lỗi chương trình, nhưng tôi không thể sửa đổi chương trình.
Tôi có thể chặn phản hồi, sửa đổi URL và gửi (sửa đổi) cho khách hàng cuối cùng bằng nginx không? Hoặc có thể với một công cụ khác?
EDIT: Tôi đã thấy câu hỏi này trước đây, nhưng trường hợp của tôi cụ thể hơn, câu hỏi được trích dẫn yêu cầu sửa đổi chung. Trong trường hợp đó, chương trình ad hoc nhanh-cgi là giải pháp tốt nhất, điều tôi muốn là một giải pháp cụ thể hơn cho (tôi nghĩ) một kịch bản phổ biến hơn. trong khi một chương trình cgi nhanh có thể hoạt động, tôi tìm kiếm một cách dễ nhất và có thể mạnh hơn và được chứng minh trong thế giới thực, giải pháp cho kịch bản này.