У меня есть служба приложений Linux Azure для запуска загрузочного JAR Spring.
В этом приложении у меня есть несколько форм для загрузки файлов в приложение Spring, которые затем обрабатываются.
Все это отлично работает локально и на экземпляре AWS Elastic Beanstalk.
В службе приложений Azure Linux с файлами размером более 4 МБ происходит сбой.
Я предполагаю, что экземпляр IIS, который, вероятно, работает перед службой приложений, имеет ограничение на количество видов, блокирующее пост-запрос определенного размера.
Я искал любую настройку, которую я могу установить на портале Azure, чтобы позволить загружать файлы большего размера, но просто не смог ее найти.
Есть идеи?
Как это было решено
(если вы используете Spring boot и Maven для развертывания и т. Д.)
На основе ответа @GeorgeChenниже.
Создайте файл web.config в корне моего проекта Maven, например:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<!-- 100 MB in kilobytes -->
<httpRuntime maxRequestLength="204800" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!-- 100 MB in bytes -->
<requestLimits maxAllowedContentLength="209715200" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Изменен файл POM, в разделе подключаемых модулей Maven:
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.6.0</version>
<configuration>
<schemaVersion>V2</schemaVersion>
<resourceGroup>XXXXXXXXX</resourceGroup>
<appName>YYYYYYYYYYY</appName>
<region>northeurope</region>
<pricingTier>B2</pricingTier>
<runtime>
<os>linux</os>
<javaVersion>jre8</javaVersion>
<webContainer>jre8</webContainer>
</runtime>
<deployment>
<resources>
<resource><directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}</directory>
<targetPath>/</targetPath>
<includes>
<include>web.config</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
Теперь после упаковки и развертывания все работает, и загрузка может занять до 100 МБ через Azure.