2015-07-17 19 views
7

Tôi đã sử dụng proxy_set_header Host $host; để đặt tiêu đề máy chủ lưu trữ cho máy chủ yêu cầu ban đầu. Trong nginx 1.4.1 điều này đã làm việc tốt. Bây giờ sau khi nâng cấp lên 1.8.0, tôi nhận được IP cục bộ thay vì máy chủ được trình duyệt duyệt qua.

Tại sao điều này xảy ra và cách khắc phục?

+0

Tôi tin rằng điều này là do máy chủ lưu trữ 'proxy_set_header Host $;' trong 'nginx.conf' và dường như có liên quan đến chỉ thị' server_name'. Tôi chưa xác định chính xác cách họ tương tác, nhưng tôi đã tìm thấy thiết lập 'proxy_set_header Host $ host' trong chỉ thị' location' của bạn, đồng thời bỏ qua 'server_name' hoàn toàn hoạt động trong trường hợp của chúng tôi – Basic

+0

Bạn đã bao giờ tìm ra giải pháp chưa? Tôi đang gặp vấn đề tương tự ... 1,7 làm việc, nhưng mới nhất trong ppa (1,12) thì không. Không có gì tôi gửi đúng tiêu đề máy chủ lưu trữ ngược dòng. –

Trả lời

0

tl; dr; Tôi không chắc chắn khi nó thay đổi, nhưng các phiên bản mới hơn của nginx - thay vì ssl_protocols ...; - conf của bạn nên là:

proxy_ssl_server_name on; proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Nguồn: https://stackoverflow.com/a/25330027

===

Nếu bạn giống như tôi, bạn đang đọc sai các tệp nhật ký và thấy host=example.com. Thay vì đây là máy chủ được gửi đến nguồn gốc, điều này dường như có nghĩa là máy chủ ảo được lưu trữ trong máy chủ ảo như máy chủ lưu trữ được xác định-trong-nginx-conf.

(Bật error_log debug; cho thấy tiêu đề máy chủ đã được thiết lập một cách chính xác.)

Các file log cũng nên chứa một lỗi như "SSLv3 thất bại bắt tay cảnh báo".

Các vấn đề liên quan