У меня есть роль рабочего лазурного рабочего, которая запускает несколько запланированных задач как часть системы интеграции. Я пытаюсь разоблачить конечную точку http, которая будет предоставлять некоторые административные функции, чтобы я мог удаленно управлять аспектами рабочей роли.Nancy Self Host в роли лазурного рабочего
У меня есть рабочая роль и работает только одна проблема заключается в том, что я не могу получить доступ к конечной точке HTTP из Интернета.
Я подтвердил, что сервер nancy работает с тех пор, как я удаляюсь на виртуальную машину, которую я могу подключить, используя локальный IP-адрес.
Роль конфигурации выглядит следующим образом:
<ServiceDefinition name="Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WorkerRole name="Host.Azure" vmsize="Small">
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
</ConfigurationSettings>
<Startup>
<Task commandLine="mount.cmd" executionContext="limited" taskType="background">
</Task>
</Startup>
<Endpoints>
<InputEndpoint name="http" protocol="http" port="80" localPort="80" />
</Endpoints>
<LocalResources>
</LocalResources>
<Imports>
<Import moduleName="RemoteAccess" />
<Import moduleName="RemoteForwarder" />
</Imports>
</WorkerRole>
</ServiceDefinition>
я создаю URL Nancy следующим образом:
var endpointName = "http";
var instance = RoleEnvironment.CurrentRoleInstance;
var internalEndpoint = instance.InstanceEndpoints[endpointName];
var uri = new Uri($"{internalEndpoint.Protocol}://{internalEndpoint.IPEndpoint}");
return new NancyUri {Value = uri};
Есть ли что-то еще, что мне нужно сделать, т о, чтобы получить эту работу?
ваше здание Uri выглядит подозрительным, поскольку вы захватываете '.Protocol'. Есть свойства под '.IPEndpoint', которые вы, вероятно, захотите использовать (я не могу вспомнить данные на данный момент). –