2

Azure (Microsoft)에서 Java를 사용하여 하나의 Windows 인스턴스를 시작하고 445, 8077과 같은 몇 가지 인바운드 포트를 열려고합니다. 보안 그룹 포트 열기를 사용해 보았지만 시스템 수준이 아닌 보안 그룹 수준의 인바운드 포트만 열었습니다. 시작하기 전에 또는 시작한 후에도 열 수 있도록 몇 가지 솔루션을 제공하십시오. 아래 URL에서 AWS와 동일한 작업을 수행했습니다.
Open some custom inbound ports e.g. 8077 by using 80 or 3389사용자 정의 인바운드 방화벽 포트를 엽니 다. 8077 Azure에서 java를 사용하여 어떤 방식 으로든 사용

답변

2

내 이해가 옳다면 Azure (Windows 서비스)에서 Windows VM을 사용합니다. AWS 인스턴스와 동일합니다. Power Shell을 사용하여 Windows 방화벽에서 포트 8077을 열 수 있습니다.

netsh advfirewall firewall add rule name="Open Port 8077" dir=in action=allow protocol=TCP localport=8077 

Azure VM의 경우 열린 포트가 Azure NSG이어야합니다. 는 enter image description here

업데이트 :이 작업을 수행하는 푸른 자바 SDK를 사용하려면

,이 example을 사용할 수 있습니다.

나는 다음과 같은 사용자 정의 스크립트 확장을 추가하는 예제를 수정

 windowsVM.update() 
      .defineNewExtension("shuitest") 
      .withPublisher("Microsoft.Compute") 
      .withType("CustomScriptExtension") 
      .withVersion("1.9") 
      .withMinorVersionAutoUpgrade() 
      .withPublicSetting("commandToExecute", "netsh advfirewall firewall add rule name=\"Open Port 8077\" dir=in action=allow protocol=TCP localport=8077") 
      .attach() 
     .apply(); 

당신은 Github에서 내 code을 확인할 수 있습니다.

+0

Azure App 서비스 (Paas 서비스)를 사용하는 경우 포트 80, 444 만 허용합니다.하지만 Azure VM을 사용하는 것은 내 이해에 따라 로컬 Windows 인스턴스처럼 보이며 Windows 방화벽에서 포트를 쉽게 열 수 있습니다. –

+1

Netsh는 powershell과 직접적인 관련이 없습니다. – eckes

+1

@eckes 예, 'netsh'는 Power Shell이나 cmd console에서 실행할 수 있습니다. –

1

아니요, PaaS에서는 사용자 정의 포트를 열 수 없습니다. 사용자 지정 포트를 열려면 Azure VM으로 이동해야합니다.

관련 문제