http 및 https 끝점을 제공하는 기존 Azure 클라우드 서비스가 있습니다. 모든 것이 잘 진행되고 있습니다. 나는 최근에 또 다른 그룹이 특수 포트에 SSL 끝점을 추가하여 끝날 때 뭔가를 지원하도록 요청했습니다. 따라서 서비스 정의에 추가 엔드 포인트를 추가하고 재배포했습니다. 여기 내 csdef는 이제이 잘 배포 및Azure 클라우드 서비스의 사용자 지정 포트 번호
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-10.2.2">
<WebRole name="MyService.WebAPI" vmsize="Large">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="NonSSL Endpoint" />
<Binding name="Endpoint2" endpointName="SSL Endpoint" />
<Binding name="Endpoint3" endpointName="SSL 5200" />
</Bindings>
</Site>
</Sites>
<LocalResources>
<LocalStorage name="localConfigStore" sizeInMB="1" />
</LocalResources>
<Endpoints>
<InputEndpoint name="NonSSL Endpoint" protocol="http" port="80" />
<InputEndpoint name="SSL Endpoint" protocol="https" port="443" certificate="mycert" />
<InternalEndpoint name="InternalHttpIn" protocol="http" />
<InputEndpoint name="SSL 5200" protocol="https" port="5200" certificate="mycert" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<ConfigurationSettings>
<Setting name="LocalStorageAccount" />
</ConfigurationSettings>
<Certificates>
<Certificate name="mycert" storeLocation="LocalMachine" storeName="My" />
</Certificates>
</WebRole>
</ServiceDefinition>
나는 포트 80 및 443에 평소와 같이 서비스를 쿼리 할 수 있어요,하지만 포트 5200를 조회하는 것은 거부 오류가 나에게 즉시 연결을 가져옵니다
PS C:\Users\user> curl -k -v https://myservice.cloudapp.net:5200/api/health
* Hostname was NOT found in DNS cache
* Adding handle: conn: 0x4ae0a0
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x4ae0a0) send_pipe: 1, recv_pipe: 0
* Trying x.x.x.x...
* connect to x.x.x.x port 5200 failed: Connection refused
* Failed to connect to myservice.cloudapp.net port 5200: Connection refused
* Closing connection 0
curl: (7) Failed to connect to myservice.cloudapp.net port 5200: Connection refused
PS C:\Users\user>
Azure 관리 콘솔에서 배포 된 서비스를 보면 세 개의 끝점을 모두 볼 수 있으므로 내 구성에서 심각한 오류가 발생했다고 생각하지 않습니다 ... 열 필요가있는 다른 것이 있습니까 바깥 세상으로가는 항구? 또는 Azure가 허용하지 않는 비표준 포트입니까?
해당 포트에서 SSL을 제거하고 http로 이동하면 어떻게됩니까? 당신은 다른 종점으로 말려 질 수 있습니까? – trailmax
예, 다른 두 개의 끝점을 정상적으로 공격 할 수 있습니다. 나는 여분의 종단점을 표준 http로 전환하려고 시도했다. 그리고 그것은 예상대로 작동하지 않는 것으로 보인다. – superstator