2013-08-20 3 views
5

ウェブサイトを作成してWindows Azureに展開しました。開発中のどこかで、私はプロジェクトのプロパティからSSLを有効にしました。すべて(httpsアドレス)はlocalhostと私のサイトを配備したAzure Webサイトでうまくいきました。ウェブサイトのSSLを無効にできません

今、私のAzureの試用期間が終了しています。私は別の無料のasp.netホスティングにSSLをサポートしていません。

私はそれが簡単になると思っています。SSL EnabledをFalseに戻すように設定するのは、最初に開発を開始したときのようにすべてうまくいきますが、そうではありません。

SSLを無効にした後、私のウェブサイトは動作しません。 IIS Expressで設定私のVisual Studioの 画像が開かれ、右のアドレスにサーバーがあることを示す:http://db.tt/EKTcxPsd

私は、Visual Studioからサイトを起動すると、それはページlocalhost:44300のロードを開始します。 数秒後に「ウェブページが利用できません」というエラーを表示するhttps://localhostにリダイレクトされます。 Picture:http://db.tt/VntZTpKD

私はIISExpressフォルダを削除し、Visual Studioを再起動しようとしました。再作成applicationHost.configファイルは、私がホスティング環境にウェブサイトを公開した後、同じ問題を抱えている(私の知る限りでは)

<site name="PrototypeNew-bootstrap3" id="2"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
    <virtualDirectory path="/" physicalPath="E:\path-shortened\Visual Studio 2013\Projects\PrototypeNew\PrototypeNew-branch" /> 
    </application> 
    <bindings> 
    <binding protocol="http" bindingInformation="*:44300:localhost" /> 
    </bindings> 
</site> 

を正しい情報を持っています。 http://mywebsite.comに行くと、https://mywebsite.comにリダイレクトされ、ローカルホストのページと同じエラーが表示されます。

SSLを再度有効にすると、localhostのhttpsアドレスがうまく動作し始めます。

ここで何が起こっているのか分かりませんか?どこか別のSSLスイッチがありますか?なぜ私は常にhttpsにリダイレクトされます

EDIT新しいasp.net mvc 4プロジェクトを作成しようとしました。それを開始し、それは正常に動作していた。 web.configをプロジェクトにコピーしましたが、それでもまだリダイレクトされていましたhttps:localhost

+1

web.configにすべてのhttpトラフィックをhttpsにリダイレクトするURL書き換えルールがありますか? – Tommy

+0

私のように見えますが、私はそうではありません。私はデバッグを試み、Global.asax.cs Application_Start()にブレークポイントを設定しました。ブレークポイントがヒットし、メソッドを終了した後にページがリダイレクトされました – JoonasL

答えて

13

私はようやく解決策を見つけました。 FilterConfig.csは次のように見えた:

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new HandleErrorAttribute()); 
     filters.Add(new System.Web.Mvc.AuthorizeAttribute()); 
     filters.Add(new RequireHttpsAttribute()); // problem 
    } 

私はSSLを有効にし、それを削除しなかった場合には、自動的にRequireHttpsAttributeを追加しておく必要があります。手動で削除すると問題が解決しました。

関連する問題