Я хочу налаштувати azure "веб-сайт" послугу для використання web.config
власного (краще управління журналом). Я створив простий web.config
в корені мого git
розгортання node.js
проект:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="srcserver.js" verb="*" modules="iisnode"/>
</handlers>
</system.webServer>
</configuration>
Після того, як я розгортаю та переглядаю веб-сайт azure, він показує мені вміст srcserver.js
замість того, щоб обробляти його як iisnode
додаток :( Я знаю, що це якась дурна помилка, але гуглінг цього виходить напрочуд болючим - усі мої пошукові заклинання до "простого тексту" відбиваються незліченними статтями "як сервер статичного вмісту через iisnode" :(. І вивчаю всі iis / iisnode /web.config обладнання з нуля - це щось надмірне для мого простого завдання. Будь-які підказки, що додати до цього web.config
так iis
буде обробляти server.js
як iisnode
сценарій, а не як звичайний текст?
Оновити
Вивчаючи сховище node.js, створене за допомогою майстра лазуриту, я зрозумів, що проблема виникає лише в тому випадку, якщо server.js
знаходиться знаходиться src
підкаталог. Якщо він знаходиться в кореневому каталозі, все працює добре. Будь-які натяки на те, чому така поведінка iisnode
? Я хочу підкаталоги :(. Будь-яка документація про те, що вони не дозволені?
Відповіді:
3 для відповіді № 1Я вважаю, що вам потрібно додати rewrite
правити своїм web.config
. Модуль IISNode покладається на модуль перезапису URL-адреси IIS для маршрутизації запитів до вашої програми NodeJS.
<rewrite>
<rules>
<rule name="iisnode">
<match url="src/*" />
<action type="Rewrite" url="server.js" />
</rule>
</rules>
</rewrite>
Джерела
- Хостинг експрес-програм node.js в IIS за допомогою iisnode
- Увімкнення сервера додатка Node.js у Windows Azure