Я настраиваю SSL для защиты своей области mydomain.com/admin, я нахожусь на Nginx с Laravel, SSL работает, как в случае, если я перехожу на https://www.mydomain.com, это работает. Но, мои попытки перенаправления получают сообщение об ошибке "Эта веб-страница имеет ошибку переадресации".
У меня есть следующая настройка фильтра в Laravel
Route::filter('secure', function () {
if (! Request::secure()) {
return Redirect::secure(
Request::path(),
in_array(Request::getMethod(), ['POST', 'PUT', 'DELETE']) ? 307 : 302
);
}
});
И я успешно направил ему:
Route::when('admin/*', 'secure');
И это моя конфигурация Nginx:
server {
listen 80;
server_name DOMAIN.com;
return 301 http://www.DOMAIN.com$request_uri;
}
server {
listen 80;
listen 443;
ssl on;
server_name www.DOMAIN.com;
ssl_certificate /srv/ssl/www.DOMAIN.com.crt;
ssl_certificate_key /srv/ssl/www.DOMAIN.com.key;
access_log /srv/www/www.DOMAIN.com/logs/access.log;
error_log /srv/www/www.DOMAIN.com/logs/error.log;
root /srv/www/www.DOMAIN.com/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_read_timeout 500;
}
}
Большое спасибо....
Уверен, это потому, что я
fastcgi_param HTTPS off;
Изменены на
fastcgi_param HTTPS on;
И все работает нормально