2017-09-13 14 views
0

According to this topic .NET Core 응용 프로그램을 게시하고 호스팅하려고합니다. API (example.com/pets/users)에서 GET 요청을 사용하여 데이터를 검색하려고하면 500 Internal Server Error가 발생합니다. example.com/pets은 내 API가 게시 된 URL입니다.ASP.NET 핵심 RESTfull API 호스팅 - 500 내부 서버 오류

내 webconfig은 다음과 같습니다 : 나는 믿고

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> 
    </handlers> 
    <aspNetCore processPath="dotnet" arguments=".\Pets.Api.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" /> 
    </system.webServer> 
</configuration> 

꽤 괜찮습니다.

경고 : Microsoft.Extensions.DependencyInjection.DataProtectionServices [59]

어느 사용자 프로파일도 가능 HKLM 레지스트리

표준 출력 로그이 말한다. 임시 키 저장소 사용. 응용 프로그램이 종료되면 보호 된 데이터를 사용할 수 없습니다.

는 경고 : Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository [50]

를 메모리 내 저장소를 사용. 키는 저장 영역에 저장되지 않습니다.

호스팅 환경 : 생산

컨텐츠 루트 경로 : D : \ HostingSpaces \ xardaslord \ example.com \ wwwroot에 애완 동물

\ 이제 수신 대기 : http://localhost:13556

응용 프로그램을 시작했다. Ctrl + C를 눌러 종료하십시오.

정확히 무엇이 잘못 될 수 있습니까? 내 원격 DB 연결을 쳤어. 맞아.

누군가 나를 도와 줄 수 있다면 정말 감사하겠습니다.

+1

여기에 갈 곳이 많지 않습니다. 내 경험에 비추어 볼 때, 로컬에서 개발 모드로 운영 모드로 호스트 할 때 구성 항목이 누락 된 문제가있을 수 있습니다. 로컬에서 사용자 비밀을 사용합니까? 그렇게하면 제작을하지 않게됩니다. 이것은 단지 예제 일뿐입니다 ... – GlennSills

+0

앱 풀을 관리 코드로 변경했는데, 지금 'example.com/pets/users'에게 GET 요청을하려고하면 403이됩니다 - 금지되어 있습니다 : 액세스가 거부되었습니다. – XardasLord

+0

응용 프로그램 풀과 연결된 응용 프로그램 ID는 무엇이며 배포 폴더를 읽을 수있는 권한이 있습니까? – GlennSills

답변

0

문제가 해결되었습니다. 문제는 서버에 새로 생성 된 가상 디렉터리에 API를 게시했기 때문입니다. 하위 도메인에 API를 게시하면 모든 것이 잘 작동합니다.

2

위의 에 대한 대안은 오류를 경고합니다. 사용자 프로필로드를 사용하도록 IIS 응용 프로그램 풀을 편집하십시오. 응용 프로그램 풀> 고급 설정> 사용자 프로필로드 : True