У меня есть веб-сайт, содержащий несколько веб-приложений. Каждое веб-приложение соответствует подкаталогу корневого каталога документа, имя которого начинается с «Web». (Например, /WebLulzGenerator
и /WebInternetHateMachine
веб-приложения, но /MoarHelperz
не является.)
Я хочу, чтобы эти веб-приложения были доступны только через HTTPS, поэтому я сделал следующее в моем httpd.conf
файл:
<Directory />
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<DirectoryMatch "^/Web[A-Za-z0-9]+">
Order allow,deny
Deny from all
</DirectoryMatch>
# In extra/httpd-ssl.conf, access to "^/Web[A-Za-z0-9]+"
# is reenabled, but only through HTTPS.
Однако, когда я проверил свою конфигурацию "http: // myip / WebTest"правильно открылся. Что я делаю не так?
<Directory>
карты с физическим расположением ресурсов. Вы должны использовать <Location>
или <LocationMatch>
для локаций.
<LocationMatch /Web.*>
Order Allow,deny
Deny from All
</Location>
Остерегайтесь следующего предупреждения от документация:
Разделы <Location> работают полностью вне файловой системы. Это имеет несколько последствий. Что наиболее важно, директивы <Location> не должны использоваться для управления доступом к расположениям файловой системы. Поскольку несколько разных URL-адресов могут отображаться в одной и той же файловой системе, такие средства управления доступом можно обойти.