Điểm:0

Nginx đảo ngược proxy định tuyến thư mục con đến vị trí gốc Đường dẫn proxy trên trang đầu tiên truy cập mỗi phiên trình duyệt

lá cờ zw

Ngắn ngủi: Tôi có hai máy chủ khác nhau đằng sau proxy nginx. Khi tôi cố gắng tiếp cận một trong số chúng, tôi sẽ luôn được chuyển hướng đến một cái khác nằm ở vị trí gốc. Điều này xảy ra MỘT LẦN. Nhật ký ngụ ý rằng Firefox/Chrome không gửi yêu cầu GET tới nginx khi tôi nhập địa chỉ lần đầu tiên. Khi tôi nhập URL lần thứ hai trong phiên Firefox/Chrome, tôi sẽ truy cập đúng máy chủ.

Lâu hơn: Trong thiết lập của mình, tôi có hai máy chủ trong mạng docker nơi "https://server.app/" sẽ được chuyển đến "http://docker-server-1:80" và "https://server.app/client " phải được chuyển đến "http://docker-server-2:8090/client".

Cấu hình nginx của tôi trông như thế này

sự kiện {}

http {
    người phục vụ {
        server_name server.app;
        nghe 443 ssl;
        ssl_certificate /etc/nginx/fullchain.pem;
        ssl_certificate_key /etc/nginx/privkey.pem;
        error_log /etc/nginx/nginx.log gỡ lỗi;

        vị trí / khách hàng {
            proxy_pass http://docker-server-2:8090/client;
            proxy_set_header Máy chủ lưu trữ $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }

        địa điểm / {
            proxy_pass http://docker-server-1:80;
            proxy_set_header Máy chủ lưu trữ $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

Khi tôi nhập "https://server.app/client", tôi sẽ đến đúng máy chủ khi a) Tôi mở trang này ở chế độ ẩn danh Firefox/Chrome, b) Tôi sử dụng một công cụ đơn giản và ngây thơ như curl/wget, c ) Tôi đã xóa bộ nhớ cache của Firefox/Chrome và họ chưa từng thấy "https://server.app" trước đó hoặc d) Tôi nối thêm index.html và nhập "https://server.app/client/index.html".

Khi tôi truy cập "https://server.app" và cố gắng mở "https://server.app/client" sau đó, trang "https://server.app" sẽ được tải thay thế MỘT LẦN cho mỗi phiên trình duyệt. Khi tôi nhập URL thư mục con lần thứ hai, tôi sẽ đến đúng máy chủ cho đến khi tôi đóng trình duyệt của mình và mở lại. Sau đó, tôi sẽ kết thúc MỘT LẦN một lần nữa tại "https://server.app" khi tôi nhập "https://server.app/client".

Điều kỳ lạ là, tôi không thấy bất kỳ yêu cầu GET nào trong nhật ký nginx khi nhập "https://server.app/client" với Firefox/Chrome không ẩn danh. Có vẻ như cả hai trình duyệt đều sử dụng phiên bản "https://server.app" được lưu trong bộ nhớ cache khi tôi nhập "https://server.app/client" nhưng tôi không thể hiểu tại sao. Đây là lý do tại sao tôi cho rằng trình duyệt là một phần của vấn đề nhưng làm cách nào tôi có thể yêu cầu họ không thực hiện chuyển hướng này?

djdomi avatar
lá cờ za
bạn đã thử cuộn tròn chưa?

Đă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.