IAM이 활성화된 Neptune 인스턴스에 연결할 때 Neptune에서 잘못된 핸드셰이크 오류가 발생합니다.

王林
풀어 주다: 2024-02-08 22:20:21
앞으로
627명이 탐색했습니다.

连接到启用 IAM 的 Neptune 实例时,Neptune 抛出错误握手错误

Neptune에서 오류 발생 핸드셰이크 오류는 IAM 지원 Neptune 인스턴스에 연결할 때 흔히 발생하는 문제입니다. IAM(Identity and Access Management)은 AWS 리소스에 대한 액세스를 관리하고 제어하는 ​​Amazon Web Services(AWS)의 기능입니다. 그러나 IAM 지원 Neptune 인스턴스에 연결하려고 하면 핸드셰이크 오류가 발생할 수 있습니다. 이 오류는 IAM 역할에 대한 잘못된 권한이나 Neptune 인스턴스가 잘못 설정되어 발생할 수 있습니다. 이 문제에 대한 대응으로 이 문서에서는 IAM 지원 Neptune 인스턴스에 대한 원활한 연결을 보장하기 위해 이 오류를 해결하는 방법을 자세히 소개합니다.

질문 내용

iam이 활성화된 aws neptune 인스턴스가 있고 인증 없이 CRUD 작업을 수행할 수 있지만 인증을 활성화하면 핸드셰이크 오류 로그에 오류가 발생합니다.

참고: 람다 함수에는 완전한 Neptune 권한이 있습니다

으아악

오류 로그: 연결 상태를 닫힘으로 설정하여 새 연결을 인스턴스화할 수 없습니다. 연결 풀에 대한 새 연결 생성 오류: websocket: 핸드셰이크 오류 'e0104: 성공적인 연결을 설정할 수 없습니다: websocket: 핸드셰이크 오류'

참고: iam 인증이 비활성화되어 있으면 쿼리를 실행할 수 있습니다. 도와주세요.

요청에 서명을 시도했지만 인증에 실패했습니다.

해결 방법

필요한 모든 권한이 부여된 경우 Neptune iam과 함께 작동하려면 코드에 수정해야 할 몇 가지 문제가 있습니다.

  1. neptune의 iam 서명자의 서비스 이름은 neptune-db,而不是 neptune여야 합니다.
  2. 타입*gremlingo.driverremoteconnectionsettings 应为 *gremlingo.driverremoteconnectionsettings.
  3. settings.authinfo.header使用的标头实际上不是签名者返回的标头,而是原始请求的标头,因此应该是settings.authinfo.header = req.header.

모두 종합하면 //signing request 아래의 코드 블록은 다음과 같습니다.

으아악

한 가지 주의할 점은 현재 gremlin-go에서는 인증 토큰의 자동 새로 고침을 허용할 수 있는 방법이 없다는 것입니다. 즉, 만료 후에는 새 연결을 설정해야 합니다.

도움이 되기를 바랍니다.

위 내용은 IAM이 활성화된 Neptune 인스턴스에 연결할 때 Neptune에서 잘못된 핸드셰이크 오류가 발생합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!