Я пытаюсь ограничить доступ к моему приложению Laravel 5.3 с помощью Apache.Laravel .htaccess rewrite и apache2 Директива местоположения
Мое приложение доступно снаружи, но получает сообщения от различных внешних источников. Существует перенаправление портов, настроенное с отключенным NAT, поэтому я могу указать внутреннее из внешних запросов.
Все URL должны показывать 403, за исключением случаев, когда example.com/api/external/ ... является URL-адресом. У меня есть следующий HTAccess (по умолчанию для Laravel 5.3)
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
мой виртуальный хост конфигурации
<Directory /var/www/mailer/public/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Location />
Order deny,allow
deny from all
allow from 10.64.1.0/24
allow from 10.64.20.0/24
</Location>
<Location /api/external/smsPost>
Allow from all
</Location>
Всякий раз, когда я получить доступ к любому URL с внешнего адреса я все еще получаю 403 даже на разрешенное место нахождения.
You don't have permission to access /index.php on this server.
Я думаю, потому что он имеет /index.php даже на example.com/api/external/smsPost, что это проблема с Htaccess и директивы местоположения не работает для этой цели. Есть ли способ добиться того, что мне нужно с этой директивой?
Большое спасибо.