Tôi đang sử dụng AWS CloudFront để chấm dứt SSL trước khi nhấn vào chương trình phụ trợ của mình và cần phân biệt lưu lượng truy cập này với lưu lượng truy cập không phải CloudFront để đặt proxy_set_header
trong Nginx.Nginx đặt proxy_set_header nếu tiêu đề có mặt
Tôi tin rằng cách tốt nhất để làm điều này là kiểm tra tiêu đề X-Amz-Cf-Id
(added by CloudFront) và đặt proxy_set_header
khi có mặt. Tuy nhiên, tôi biết rằng không thể đặt proxy_set_header
trong câu lệnh Nginx if, dẫn đến câu hỏi của tôi.
Làm cách nào để đặt giá trị proxy_set_header
khi có tiêu đề đó?
Có thể bạn không thiết lập tiêu đề mà trong amazon đám mây trước khi nó chấm dứt SSL? – Seb
Cảm ơn @seb, tôi đã thử đặt tiêu đề tùy chỉnh làm tiêu đề name = 'proxy_set_header' và value =' X-Forwarded-Proto https' nhưng nó không hoạt động như mong đợi. Tôi cần phải thêm điều này vào một dòng cụ thể của cấu hình Nginx của tôi vì vậy đừng nghĩ rằng cách tiếp cận đó sẽ hoạt động. Mục tiêu cuối cùng của tôi là nói với ứng dụng của tôi rằng các kết nối CF qua HTTPS. – Manonthemoon
Tôi không sử dụng điện toán đám mây, nhưng tìm kiếm nhanh đã cho tôi kết quả này: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html Vì vậy, mặt trước đám mây có thể đặt tiêu đề. Nếu đám mây phía trước có thể thiết lập các tiêu đề, hơn nó sẽ làm cho ý nghĩa hơn nhiều để thiết lập các tiêu đề có trong nginx. Hoặc bạn có thể tìm kiếm và tìm giải pháp này: http://serverfault.com/questions/506972/nginx-why-i-cant-put-proxy-set-header-inside-an-if-clause – Seb