У меня очень неприятная проблема с IIS 7. Я настроил свой web.config по книгам следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="Python" path="*.cgi" verb="*" modules="CgiModule" scriptProcessor="C:\Python27\python.exe -u "%s"" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<security>
<requestFiltering>
<!-- maxAllowedContentLength is in bytes (B) -->
<requestLimits maxAllowedContentLength="1073741824" /> <!-- 1GB -->
</requestFiltering>
</security>
<rewrite>
<rules>
<rule name="rewrite to hgwebdir" patternSyntax="Wildcard">
<match url="*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="hgweb.cgi/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
<system.web>
<!-- maxRequestLength is in kilobytes (KB) -->
<httpRuntime maxRequestLength="1048576" /> <!-- 1GB -->
</system.web>
</configuration>
Когда я отправляю сообщение в сценарий CGI (это hgweb для Mercurial через Python) через HTTP, все в порядке - никаких проблем.
Однако, когда я отправляю POST в сценарий через HTTPS (SSL), я все еще ограничен лимитом загрузки по умолчанию в 30 МБ. Для меня это не имеет никакого смысла. Что происходит?!
Это несовместимость в модуле SSL Python 2.7.3+.
Ошибка задокументирована здесь, на сайте TortoiseHg, но она применима ко всем платформам, использующим IIS через HTTPS.
https://bitbucket.org/tortoisehg/thg/issue/2593/cant-push-over-30mb-to-iis-via-https
Более подробная информация об этом содержится в моем сообщении на StackOverflow: