Estoy usando Request.IsSecureConnection para verificar SSL y redirigir cuando corresponda. Cuando ejecuto mi sitio web asp.net en la nube de Rackspace, el servidor se ejecuta detrás de un clúster SSL, por lo que IsSecureConnection siempre devuelve falso. Lo mismo se aplica para verificar si la URL contiene "https: //", siempre es falsa, verifica el puerto, etc. Por lo tanto, el sitio web se queda atascado en un gran bucle de redirección.Verificar SSL cuando está alojado en Rackspace (Mosso) Cloud
¿Hay alguna otra manera de verificar SSL y redirigir cuando corresponda? ¿Alguien que haya hecho esto en la nube de 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
No tiene nada que ver con la pregunta, pero usted tiene mi aprecio de usar const para cadenas simples como 'http' y 'https'. –