Usamos shibboleth para proteger um host virtual Apache. Gostaríamos de disponibilizar publicamente um único arquivo (um mapa do site) para este site.
Existe uma maneira de codificar isso no virtualhost?
O host virtual atual se parece com isto:
<VirtualHost *:443>
ServerName my-staging.sjf.edu
DocumentRoot /var/www/sjf/my
<Directory "/var/www/sjf/my">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Location />
AuthType shibboleth
ShibRequestSetting requireSession 1
<RequireAny>
Require env allowed
require shib-session
</RequireAny>
</Location>
...
<VirtualHost *:443>
O arquivo que eu gostaria de tornar público estaria idealmente na raiz do site, mas talvez em outro lugar, se necessário.
Responder1
Basta adicionar uma nova <Location>
diretiva para o mapa do site e configurá-la com Require all granted
:
<VirtualHost *:443>
ServerName my-staging.sjf.edu
DocumentRoot /var/www/sjf/my
<Directory "/var/www/sjf/my">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Location />
AuthType shibboleth
ShibRequestSetting requireSession 1
<RequireAny>
Require env allowed
require shib-session
</RequireAny>
</Location>
<Location /sitemap.xml>
Require all granted
</Location>
<VirtualHost *:443>