Ngày tốt! Chúng tôi có proxy dựa trên nginx với cấu hình tiếp theo:
người phục vụ {
server_name proxy;
nghe 80;
underscores_in_headers bật;
access_log /var/log/nginx/access.log bodylog;
địa điểm / {
proxy_pass http://X.X.X.X:Y;
}
}
Phần cuối là một ứng dụng có quyền truy cập trang đăng nhập đầu tiên để tìm kiếm sau đó. Vì vậy, vấn đề là:
Khi chúng tôi điều chỉnh proxy thành địa chỉ IP của phụ trợ (proxy_pass http://X.X.X.X:Y) chúng tôi nhận thấy rằng tất cả các yêu cầu trong trình duyệt sau khi đăng nhập vào trang bắt đầu đều đi qua máy chủ proxy nginx và chúng tôi có thể đăng nhập chúng vào access.log.
Nhưng nếu chúng ta muốn sử dụng ở đây https://address.com cho cùng một ứng dụng như vậy
địa điểm / {
proxy_pass https://address.com;
bộ giải quyết 127.0.0.11;
}
chúng tôi nhận thấy rằng chỉ lần tải đầu tiên của trang đăng nhập đi qua proxy nginx, nhưng tất cả các hành động khác ở đó (bản thân đăng nhập, tìm kiếm sau đó, v.v.) đều đi ngay trên miền https://address.com (không thông qua máy chủ proxy), vì vậy không thể đăng nhập vào tệp access.log nginx-proxy, nhưng chúng tôi cần điều này!
Có cách nào để thay đổi hành vi này như với proxy_pass thành IP không?
Thông tin bổ sung: Ứng dụng được triển khai trong cụm kube, vì vậy khi tôi cố gắng tiếp cận nó với các yêu cầu IP, hãy truy cập dịch vụ kube cho ứng dụng có loại LB rồi đến ứng dụng. Khi tôi cố gắng truy cập tên DNS bằng yêu cầu https, hãy truy cập nginx-ingress-controller trong cụm, sau đó đến dịch vụ kube cho ứng dụng rồi đến ứng dụng