Как принудительно открыть веб-роль на порте 80 в Azure Dev Fabric (Azure SDK 1.5) - PullRequest
1 голос
/ 11 октября 2011

Недавно я обновил свой dev env с версии 1.1 до версии 1.5 пакета Azure SDK (я знаю - я немного опоздал :))

Я заметил, что моя веб-страница открывалась впорт 81 всегда.Есть ли у меня способ принудительно открыть лазурную веб-роль на порте 80 в моей среде разработчика?

Мне нужна следующая причина:

  1. У меня есть расширение для браузеракоторый соединяется с моей веб-ролью - и ожидает, что веб-роль будет на порте 80;До сих пор тестирование на dev env было простым - мне просто нужно сделать перенаправление etc / host, и мой обычный плагин для браузера подключился бы к моей dev dev.

  2. На моем веб-сайте я также предоставляю аутентификацию open-auth от google / facebook.Я не смог бы проверить это в моей среде разработчика, если у меня будет доступ к нему как www.mywebsite.com:81/ вместо www.mywebsite.com

У кого-нибудь есть указатель?

Капиль

Ответы [ 4 ]

0 голосов
/ 14 октября 2011

Хорошо - проблема решена. Пожалуйста, смотрите эту тему для более подробной информации.

http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/5447f16e-2eed-4170-9771-17c7c9e7e570?prof=required

По сути, я указал свой сайт по умолчанию в IIS, чтобы он указывал на другой порт, и это сработало

Капил

0 голосов
/ 11 октября 2011

Просто убедитесь, что порт 80 доступен.Эмулятор вычислений принимает запрашиваемый вами порт или первый доступный порт выше этого.

0 голосов
/ 12 октября 2011

Если вы не можете заставить его использовать порт 80 вместо порта 81 в вашей среде разработки, даже если он доступен, вы можете установить Fiddler2 и попытаться добавить следующее правило Fiddler в нижней части OnBeforeRequest ():

// Windows Azure force socket 80
if (oSession.host == "app.dev.com:81") { oSession.host = "127.0.0.1:80"; }
if (oSession.host == "127.0.0.1:81") { oSession.host = "127.0.0.1:80"; }
if (oSession.url == "127.0.0.1:81") { oSession.url = "127.0.0.1:80"; }

Я не проверял это, но я думаю, что это может дать вам указатель, как это сделать.

0 голосов
/ 11 октября 2011

Если вы используете эмулятор - это будет проблемой, потому что он открывает первый свободный порт.

Если вы будете размещать свою роль в Azure, вы можете настроить свой порт в файле конфигурации.

Например, в этой конфигурации:

<WebRole name="TestApplication1">
<Sites>
  <Site name="Web">
    <Bindings>
      <Binding name="Endpoint1" endpointName="Endpoint1" />
    </Bindings>
  </Site>
</Sites>
<Endpoints>
  <InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
<Imports>
  <Import moduleName="Diagnostics" />
</Imports>
<ConfigurationSettings>
  <Setting name="MyCustomSettingInAzure" />
</ConfigurationSettings>

Вы можете видеть, что для endpoint1 мы настроили порт для использования с номером 80.

Обновление:

Я немного искал и нашел этот пост: http://social.msdn.microsoft.com/Forums/en/windowsazuredevelopment/thread/ae2df7e0-5005-4bcd-8b69-bb53323eb589

Есть некоторые идеи, которые, как я верю, могут вам помочь. Это потребует добавления некоторых команд в ваши действия перед сборкой.

Еще одно обновление

Пожалуйста, запустите команду: Netstat -a -n -o Это покажет, кто использует порт 80

...