Tôi đang sử dụng Request.IsSecureConnection để kiểm tra SSL và chuyển hướng khi thích hợp. Khi chạy trang web asp.net của tôi trên đám mây của Rackspace, máy chủ đang chạy phía sau cụm SSL, vì vậy IsSecureConnection sẽ luôn trả về false. Cũng vậy để kiểm tra xem url có chứa "https: //" hay không, luôn sai, kiểm tra cổng, v.v. Vì vậy, trang web bị kẹt trong vòng chuyển hướng lớn.Kiểm tra SSL khi được lưu trữ trong Rackspace (Mosso) Đám mây
Có cách nào khác để kiểm tra SSL và chuyển hướng khi thích hợp không? Bất cứ ai đã thực sự thực hiện điều này trên đám mây của Rackspace?
Public Class SecurityAwarePage
Inherits Page
Private _requireSSL As Boolean = False
Public Property RequireSSL() As Boolean
Get
Return _requireSSL
End Get
Set(ByVal value As Boolean)
_requireSSL = value
End Set
End Property
Private ReadOnly Property IsSecure() As Boolean
Get
Return Request.IsSecureConnection
End Get
End Property
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
MyBase.OnInit(e)
PushSSL()
End Sub
Private Sub PushSSL()
Const SECURE As String = "https://"
Const UNSECURE As String = "http://"
If RequireSSL AndAlso Not IsSecure Then
Response.Redirect(Request.Url.ToString.Replace(UNSECURE, SECURE))
ElseIf Not RequireSSL AndAlso IsSecure Then
Response.Redirect(Request.Url.ToString.Replace(SECURE, UNSECURE))
End If
End Sub
End Class
Không có gì liên quan đến câu hỏi, nhưng bạn có sự đánh giá cao về sử dụng const cho các chuỗi đơn giản như 'http' và 'https'. –