2017-12-14 1 views
1

Python, Docker 및 iotedgectl이 설치된 Azure에서 실행되는 표준 D2s v3 (2 개의 vcpus, 8GB 메모리)이 있습니다.설치 실패 Azure IoT Edge 런타임 : 유효하지 않은 호스트 이름

내가 오류

ERROR: Error parsing user input data: Invalid hostname. Hostname cannot be empty or greater than 64 characters: ****.nwq4jyrgm4zejiseat2enywp0h.fx.internal.cloudapp.net. 
ERROR: Please fix any input values and re-run 'iotedgectl setup' 
ERROR: Errors were observed. Return Code: 1 

어떤 아이디어가 다음 얻을

iotedgectl setup --connection-string "HostName=***.azure-devices.net;DeviceId=***;SharedAccessKey=***" --auto-cert-gen-force-no-passwords 

를 실행?

답변

2

IoT Edge 런타임에는 Edge 허브 용 TLS 서버 인증서를 생성하기 위해 호스트 이름이 필요합니다. 이를 통해 모듈과 리프 장치 (게이트웨이 시나리오의 경우)간에 검증 가능한 TLS 연결이 가능합니다. RFC3280에 따르면 SSL 인증서의 Common Name의 최대 길이는 64 자입니다. (ub-common-name-length 검색).

이 오류는 호스트 이름이이 제한을 초과 함을 나타냅니다. 기본적으로 iotedgectl 도구는 호스트 시스템의 호스트 이름을 감지하여 사용합니다. 안타깝게도 Azure Windows VM은 매우 긴 호스트 이름을 가지고 있습니다.

이 문제를 해결하려면, 당신은 호스트 이름을 설정하고 자동 감지과 같이 우회 할 수있다 : 당신이 게이트웨이로의 IoT 에지 사용에 관심이 있다면

iotedgectl setup --connection-string "<conn string>" --auto-cert-gen-force-no-passwords --edge-hostname <a shorter hostname> 

자세한 내용은 여기에 있습니다 : https://docs.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway

관련 문제