Я управляю веб-приложением на Windows Server 2012R2 (iis 8.5).
У меня есть default.aspx страница, которая перенаправляет к другому приложению и также перенаправляет http к https.
inetpub\wwwroot\default.aspx
<%@ Page Language="VB" %>
<%
host = Request.ServerVariables("SERVER_NAME")
entryUrl = "https://" & host & "/foo/bar.aspx"
Response.Redirect( entryUrl )
%>
Я нахожу, что, когда я сначала создаю VM (с Шеф-поваром и iis поваренной книгой), и перешли к localhost, я автоматически не перенаправляюсь к https://localhost/foo/bar.aspx
как я ожидаю. Перезапуску IIS и пулов приложений не удается устранить проблему.
Выполнение полной перезагрузки Windows Server является единственным способом, которым я работал вокруг проблемы.
Что могло заставить перенаправление не работать до перезагрузки?
Следующие модули установлены:
PS C:\Users\sowen> C:\Windows\System32\inetsrv\appcmd.exe list modules
MODULE "HttpCacheModule" ( native, preCondition: )
MODULE "StaticCompressionModule" ( native, preCondition: )
MODULE "DefaultDocumentModule" ( native, preCondition: )
MODULE "DirectoryListingModule" ( native, preCondition: )
MODULE "IsapiFilterModule" ( native, preCondition: )
MODULE "ProtocolSupportModule" ( native, preCondition: )
MODULE "StaticFileModule" ( native, preCondition: )
MODULE "AnonymousAuthenticationModule" ( native, preCondition: )
MODULE "RequestFilteringModule" ( native, preCondition: )
MODULE "CustomErrorModule" ( native, preCondition: )
MODULE "IsapiModule" ( native, preCondition: )
MODULE "HttpLoggingModule" ( native, preCondition: )
MODULE "UrlRoutingModule-4.0" ( type:System.Web.Routing.UrlRoutingModule, preCondition:managedHandler,runtimeVersionv4.0 )
MODULE "ScriptModule-4.0" ( type:System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, preCondition:managedHandler,runtimeVersionv4.0 )
MODULE "OutputCache" ( type:System.Web.Caching.OutputCacheModule, preCondition:managedHandler )
MODULE "Session" ( type:System.Web.SessionState.SessionStateModule, preCondition:managedHandler )
MODULE "WindowsAuthentication" ( type:System.Web.Security.WindowsAuthenticationModule, preCondition:managedHandler )
MODULE "FormsAuthentication" ( type:System.Web.Security.FormsAuthenticationModule, preCondition:managedHandler )
MODULE "DefaultAuthentication" ( type:System.Web.Security.DefaultAuthenticationModule, preCondition:managedHandler )
MODULE "RoleManager" ( type:System.Web.Security.RoleManagerModule, preCondition:managedHandler )
MODULE "UrlAuthorization" ( type:System.Web.Security.UrlAuthorizationModule, preCondition:managedHandler )
MODULE "FileAuthorization" ( type:System.Web.Security.FileAuthorizationModule, preCondition:managedHandler )
MODULE "AnonymousIdentification" ( type:System.Web.Security.AnonymousIdentificationModule, preCondition:managedHandler ) MODULE "Profile" ( type:System.Web.Profile.ProfileModule, preCondition:managedHandler )
MODULE "UrlMappingsModule" ( type:System.Web.UrlMappingsModule, preCondition:managedHandler )
MODULE "ConfigurationValidationModule" ( native, preCondition: )
MODULE "HttpRedirectionModule" ( native, preCondition: )
MODULE "CustomLoggingModule" ( native, preCondition: )
MODULE "ServiceModel-4.0" ( type:System.ServiceModel.Activation.ServiceHttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, preCondition:managedHandler,runtimeVersionv4.0 )
MODULE "ApplicationInitializationModule" ( native, preCondition: )
MODULE "WebSocketModule" ( native, preCondition: )
MODULE "ServerSideIncludeModule" ( native, preCondition: )
default.aspx является частью документов по умолчанию.
Я очень плохо знаком с IIS, таким образом, любые идеи ценятся.
Проблема решена:
Оказалось, что перезагрузка не решает проблему, она вызвана отсутствием «привязки» для https.
Я обнаружил это, изменив https на http в файле, который правильно перенаправлен (без перезагрузки).