Передать файл из FSx в IIS

У меня есть экземпляр EC2 с IIS и сопоставленная файловая система FSx на AWS. Все в одном VPC в одной подсети.

Конфигурация IIS работает отлично, если она настроена на локальный диск. Когда я меняю конфигурацию, чтобы использовать путь из этого сопоставленного FSx, у меня возникает ошибка. Даже для тестовой статической страницы.

Все текущие пользователи имеют полный доступ к этим файлам. Нужно ли мне настраивать каких-либо специальных пользователей для IIS на контроллере домена? Какие-нибудь особые разрешения? Буду признателен за любые идеи...

3 ответа

РЕШЕНИЕ: нельзя использовать букву диска, должно быть полное имя DNS для консоли fsx \DNS_NAME\share

У меня именно эта проблема. Диск доступен на экземпляре ec2, но авторизация в IIS не выполняется. Просмотрите каталог из IIS, но не можете получить авторизацию для прохождения теста. Я пробовал администратора на EC2 и администратора в активном каталоге в качестве пользователей на виртуальном диске IIS.

Похоже, вам нужно настроить идентификатор пула приложений IIS для использования учетной записи домена, имеющей доступ к файловой системе FSx. По умолчанию удостоверение пула приложений — это локальная учетная запись, у которой нет разрешений на общий сетевой ресурс.

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

  • Откройте диспетчер IIS и выберите пул приложений, на котором размещен ваш веб-сайт.
  • Нажмите «Дополнительные параметры» на панели «Действия».
  • В разделе «Модель процесса» щелкните «Идентификация», а затем кнопку с многоточием (...).
  • Выберите «Пользовательская учетная запись» и введите имя пользователя и пароль домена, у которого есть доступ к файловой системе FSx. Нажмите OK, чтобы сохранить изменения.
  • Перезапустите пул приложений и веб-сайт.

Кроме того, вы можете использовать инструмент командной строки appcmd.exe для установки идентификатора пула приложений. Например, чтобы установить идентификатор домен\пользователь для DefaultAppPool, вы можете запустить:

      appcmd.exe set config /section:applicationPools /[name='DefaultAppPool'].processModel.identityType:SpecificUser /[name='DefaultAppPool'].processModel.userName:domain\user /[name='DefaultAppPool'].processModel.password:password

Вы также можете использовать PowerShell для установки удостоверения пула приложений. Например, чтобы установить идентификатор домен\пользователь для DefaultAppPool, вы можете запустить:

      Import-Module WebAdministration
Set-ItemProperty IIS:\AppPools\DefaultAppPool -Name processModel -Value @{identityType="SpecificUser";userName="domain\user";password="password"}

Дополнительные сведения см. в этой статье о том, как получить доступ к файловым ресурсам FSx из IIS.

Прежде всего, вам нужно выяснить код субстатуса вашего сервера IIS и подробное сообщение об ошибке. Поэтому включите подробное сообщение об ошибке IIS для своего веб-сайта.

Я предполагаю, что эта проблема возникла только потому, что у вашей личности нет разрешения на доступ к файлу конфигурации.

1.Убедитесь, что ваш сайт IIS-> основные настройки-> подключиться как..-> установите учетную запись домена, которая имеет разрешение на доступ к вашему FSX.

2. Установите идентификатор пула приложений для учетной записи домена, имеющей доступ к FSx.

3. Предоставьте разрешение для этой учетной записи пула приложений.

4. Настройте пользователя аутентификации на использование удостоверения пула приложений. Например, если вы используете анонимную аутентификацию. Затем перейдите в-> анонимная аутентификация-> изменить..-> Удостоверение пула приложений.

Если вы не знаете, как устранить эту проблему. Prcoss monitor поможет. Вам нужно только создать фильтр "РЕЗУЛЬТАТ = Доступ запрещен & Processname =" w3wp.exe ".

https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

Другие вопросы по тегам