나는 Azure REST List Subscription Operation로 전화를 걸고 있습니다.금지 구독 작업 : 403 금지됨
내 컴퓨터에서 Current User \ Personal에 인증서를 설치했습니다. 성공적으로 API를 호출하고 응답을 되돌릴 수 있습니다. 응답 코드 = 200
테스트 상자에서 현재 사용 \ Personal에 동일한 인증서를 설치했습니다. API를 호출 할 수 없습니다. 나는 금지 된 403을 얻는다. 아래 전체 오류 : 그래서 나는 그것이 유효 추정 1월 2040에 (이 오늘 가져온로) 유효한 I 인증서를 확인 그래서
<Error>
<Code>AuthenticationFailed</Code>
<Message>The server failed to authenticate the request.
Verify that the certificate is valid and is associated with this subscription.
</Message>
</Error>
, 그것은 이전 오늘부터 유효합니까?
질문 : 시험 상자에
- 동일한 코드/프로젝트/서비스 내 로컬 컴퓨터에서 작동하지만. 왜?
- 인증서 손도장이 동일하고 인증서가 동일합니다. 로컬에서 작동하므로 인증서가 구독 azure 계정과 연결되어 있습니다! 왜?
확인할 사항은 무엇입니까? 로컬 및 테스트 박스 서비스 모두 인증서를 웹 요청에 첨부한다는 것을 알고 있습니다. (자세한 로깅을 통해이 사실을 알고 있습니다) 그러나 시점은
입니다.HttpWebResponse webResponse = webRequest.GetResponse() as HttpWebResponse;
403 금지 된 오류가 표시됩니다.
이 글에 대해 생각하고 있습니다.
업데이트 : 피들러에서 볼 응답에서
는 응답의 시작은 다음과 같습니다
HTTP/1.1 403 Forbidden
Content-Length: 294
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 27 Sep 2013 02:49:59 GMT
가 지금은 날짜 부분이 문제인지 궁금. 나는 날짜가 요청의 15 분 이내에 있어야한다는 것을 읽었던 것을 기억한다. 테스트 상자에서 현재 시간은 12:49 pm이므로 반환 된 날짜는 2 시간 앞당겨집니다. 왜 그럴 수 있니? 아니면 피들러가 데이트를 해석 한 것입니까?
403 오류는 일반적으로 인증서에 문제가 있음을 의미합니다. 이전에 게시 한 다른 스레드별로 테스트 상자에 certs 관련 문제가 있음을 기억합니다. 당신이 할 수있는 한 가지는 dev 박스에서 가져 오기 대신에 테스트 상자에 새로운 인증서를 생성하고 API 요청을 인증하기 위해 그 인증서를 사용하는 것입니다. –
예 상자를 잠그고 makecert가 설치되어 있지는 않지만 그렇게했다고 생각했습니다. – andrewb
한 번 더 생각해보십시오. 다른 컴퓨터에서 인증서를 만든 다음 테스트 상자에서와 같이 dev 상자에 가져옵니다. 이렇게하면 dev 환경에서 테스트 환경을 다시 생성 할 수 있습니다 (인증서가 실행되는 한). 또한 테스트 상자에 IIS가 설치되어 있는지 확실하지 않지만 IIS를 사용하여 인증서를 만들 수도 있습니다. –