2012-09-26 36 views
7

Tôi đã chuẩn bị một ứng dụng web ASP.NET (ASP.NET V2.0) và tôi đã cấu hình nó trong IIS (V7.5) của mình. Tôi đã sử dụng Request.Url.AbsoluteUri trong ứng dụng của tôi và nó hoạt động tốt trong máy chủ của tôi. Tôi đã triển khai ứng dụng web trên máy chủ của máy khách (Máy chủ 2008 R2). Nhưng trong môi trường khách hàng của tôi Request.Url.AbsoluteUri luôn trả lại url http mặc dù họ đã kích hoạt SSL. Liệu mọi thiết lập IIS có được cấu hình trên máy chủ của máy khách của tôi không? Vui lòng hướng dẫn tôiRequest.URL luôn trả về http mặc dù SSL được bật

+0

Trang web có đang chạy dưới HTTPS không? tức là thanh trình duyệt có hiển thị 'https: //' không? – James

+0

Đây có phải là thiết lập SSL đơn giản trên trang web mà ứng dụng của bạn chạy không? (tức là các cổng mặc định, trang web được định cấu hình có cùng địa chỉ với kiểu người dùng) –

+0

@James: "Có hoạt động của nó dưới HTTPS và cũng hiển thị thanh trình duyệt https: //" – Suresh

Trả lời

11

Tôi đã thấy điều này trước đây. Lý do là bộ cân bằng tải tại nơi sản xuất đã chấm dứt kết nối SSL. Nó tự kết nối với IIS bằng cách sử dụng HTTP chỉ. Đề án này là một cách để giảm tải tính toán SSL cho cân bằng tải. Nó có nghĩa là ứng dụng IIS không bao giờ thấy giao thức HTTPS mặc dù trình duyệt không nhìn thấy nó.

Là người đã chỉ ra trong các nhận xét, vui lòng xem tiêu đề HTTP đến ứng dụng của bạn. Trình cân bằng tải có khả năng thêm thông tin vào chúng cho phép bạn tạo lại mọi thứ.

+1

Thật. IIRC có một loạt các tiêu đề phụ bắt đầu "x-chuyển tiếp" gửi đến máy chủ web bởi một số cân bằng tải sẽ giúp bạn tìm ra cho dù yêu cầu ban đầu đến trên https. +1 – spender

+0

@usr: "Cảm ơn phản hồi của bạn. Làm thế nào để phát hiện bộ cân bằng tải được cấu hình trên máy chủ khách của tôi? Và tiêu đề HTTP nào được sử dụng để cân bằng tải? – Suresh

+0

1) hỏi khách hàng. 2) Phụ thuộc vào thiết bị – usr

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