IIS7에서 실행하는 동안 maxAllowedContentLength를 500MB로 설정하는 방법은 무엇입니까?


94

maxAllowedContentLength를 다음으로 변경했습니다.

<security>
    <requestFiltering>
        <requestLimits maxAllowedContentLength="5024000000" />
    </requestFiltering>
</security>

내 web.config에서 IIS7에서 실행할 때 다음 오류가 발생합니다.

'maxAllowedContentLength'속성이 잘못되었습니다. 유효한 부호없는 정수가 아닙니다.

http://i.stack.imgur.com/u1ZFe.jpg

하지만 VS 서버에서 실행하면 오류없이 정상적으로 실행됩니다.

IIS7에서이 문제없이 500MB 크기의 파일 업로드를 허용하도록 웹 사이트를 구성하는 방법은 무엇입니까?


5024000000 (천개의 구분 기호를 추가하겠습니다) 5.024.000.000은 최대 unsigned int 4.294.967.295보다 큽니다. 대신 ur 구성의 값으로 502.400.000을 찾고 있습니다 (천 개의 구분 기호 없음)
Lennart

답변:


97

에있어서 MSDN하는 maxAllowedContentLength 형식이 uint, 그 최대치는 4,294,967,295 바이트 = 3.99 기가 바이트이고

따라서 잘 작동합니다.

참조 제한 문서를 요청 . IIS는 적절한 섹션이 전혀 구성되지 않은 경우 이러한 오류 중 하나를 반환합니까?

참고 항목 : 최대 요청 길이 초과


그래서 내가 가지고있는이 5024000000은 gb에 의한 것입니까?!
Amr Elgarhy

16
5024000000> 4294967295
Sam

2
500MB = 524288000 (현재 4294967295 미만)
Amr Elgarhy

144

.Net의 요청 제한은 두 가지 속성에서 함께 구성 할 수 있습니다.

먼저

  • Web.Config/system.web/httpRuntime/maxRequestLength
  • 측정 단위 : 킬로바이트
  • 기본값 4096KB (4MB)
  • 맥스. 값 2147483647KB (2TB)

둘째

  • Web.Config/system.webServer/security/requestFiltering/requestLimits/maxAllowedContentLength (바이트)
  • 측정 단위 : 바이트
  • 기본값 30000000 바이트 (28.6MB)
  • 맥스. 값 4294967295 바이트 (4GB)

참조 :

예:

<location path="upl">
   <system.web>
     <!--The default size is 4096 kilobytes (4 MB). MaxValue is 2147483647 KB (2 TB)-->
     <!-- 100 MB in kilobytes -->
     <httpRuntime maxRequestLength="102400" />
   </system.web>
   <system.webServer>
     <security>
       <requestFiltering>          
         <!--The default size is 30000000 bytes (28.6 MB). MaxValue is 4294967295 bytes (4 GB)-->
         <!-- 100 MB in bytes -->
         <requestLimits maxAllowedContentLength="104857600" />
       </requestFiltering>
     </security>
   </system.webServer>
 </location>

4
매우 도움이, 그러나 나는 Length 요청 헤더 값의 최대 값이 없습니다 4 TB 대략 4 기가 바이트이라고 생각
Snicklefritz

이 기사에서는 "요청의 콘텐츠 최대 길이를 바이트 단위로 지정합니다."라고 말합니다. 두 구성 키 모두 BYTES를 사용하여 최대 요청 크기를 4GB로 동일하게 만듭니다.
abatishchev

9

IIS v10 (그러나 IIS 7.x에서도 동일해야 함)

각각의 최대 값을 찾는 사람들을위한 빠른 추가

최대 maxAllowedContentLength: UInt32.MaxValue 🡒 4294967295 bytes:~4GB

최대 maxRequestLength: Int32.MaxValue🡒 2147483647 bytes:~2GB

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <!-- ~ 2GB -->
    <httpRuntime maxRequestLength="2147483647" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- ~ 4GB -->
        <requestLimits maxAllowedContentLength="4294967295" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.