Передать файл из 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