我正在设置SSL以保护我的mydomain.com/admin区域,我使用Laravel使用Nginx,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;
}
}
非常感谢....
答案 0 :(得分:0)
很确定这是因为我有
fastcgi_param HTTPS off;
已更改为
fastcgi_param HTTPS on;
一切都运转良好