Я борюсь с этой проблемой какое-то время.
Когда мой веб-сайт ASP.NET MVC4 начинает обслуживаться на моем локально установленном IIS (работает на порту 8081, не 80!) подключение к Интернету блокируется. Просто так.
Я в замешательстве, потому что это действительно странный. Он ведет себя так:
Я попытался изменить привязку с localhost: 8081 на {мой IP-адрес}: 8081, но это не помогло. Какие-нибудь подсказки?
РЕДАКТИРОВАТЬ
К вашему сведению, это мой web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<section name="plisani.medo" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<connectionStrings configSource="connectionStrings.config" />
<location path="Account">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Images">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="log4net.Internal.Debug" value="true" />
<add key="MvcSiteMapProvider_UseExternalDIContainer" value="true" />
<add key="MvcSiteMapProvider_SiteMapFileName" value="~/Mvc.sitemap" />
<add key="MvcSiteMapProvider_IncludeAssembliesForScan" value="GeomarketingWeb" />
</appSettings>
<plisani.medo>
<add key="zeko1" value="MYDOMAIN\xxxxxxxxxxxxxxxx" />
<add key="zeko2" value="xxxxxxxxxxxxxxxx" />
</plisani.medo>
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="textWriterTraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Logs\log4netDebug.txt" />
</listeners>
</trace>
</system.diagnostics>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<sessionState cookieName=".tempsession"
cookieless="UseCookies"
regenerateExpiredSessionId="true"
mode="Custom"
customProvider="SessionProvider">
<providers>
<add name="SessionProvider"
type="GeomarketingWeb.Providers.SessionProvider"
connectionStringName="GMDB" />
</providers>
</sessionState>
<authentication mode="Forms">
<forms loginUrl="~/Account/Logon"
name=".GMAUTH"
timeout="1440"
defaultUrl="~/Home/Index"
slidingExpiration="true" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<membership defaultProvider="GeomarketingMembershipProvider">
<providers>
<clear />
<add name="GeomarketingMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider"
connectionStringName="GMAD"
attributeMapUsername="sAMAccountName"
connectionUsername=""
connectionPassword=""
connectionProtection="Secure"
enablePasswordReset="false"
enableSearchMethods="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="Geomarketing" />
</providers>
</membership>
<roleManager defaultProvider="GeomarketingRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".GMROLES" cookieTimeout="5" cookiePath="/" cookieSlidingExpiration="true">
<providers>
<clear />
<add name="GeomarketingRoleProvider" type="GeomarketingWeb.Providers.RoleProvider" connectionStringName="GMDB" applicationName="Geomarketing" />
</providers>
</roleManager>
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider"
type="System.Web.Providers.DefaultProfileProvider"
connectionStringName="DefaultConnection"
applicationname="Geomarketing" />
</providers>
</profile>
<pages controlRenderingCompatibilityVersion="4.0">
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
<add namespace="MvcSiteMapProvider.Web.Html" />
<add namespace="MvcSiteMapProvider.Web.Html.Models" />
</namespaces>
</pages>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="true" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0"
path="*."
verb="*"
type="System.Web.Handlers.TransferRequestHandler"
resourceType="Unspecified"
requireAccess="Script"
preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Решено.
Я не могу поверить, что это работает так, и я не знаю о реализации и / или сетевых деталях этой путаницы, но вот решение:
Системный инженер обнаружил, что в случае, если приложение запускалось с такими учетными данными службы, брандмауэр Пало-Альто блокирует весь доступ в Интернет с ПК, на котором работает IIS (и приложение). Не то-приложение-доступ-к-Интернету, но полный доступ в Интернет с этого ПК.
На ее решение у нас ушло 2 дня.
Я надеюсь, что это поможет кому-то.