Laravel/Homestead Nginx SSL 重定向循环

11 浏览
0 Comments

Laravel/Homestead Nginx SSL 重定向循环

我看到过类似的主题:Nginx配置导致无限重定向循环,但是我尝试了所有的配置并没有任何改变。\n问题:我想在我的Laravel 4应用程序中强制所有路由使用https,但它们总是导致重定向循环。\nnginx配置在Laravel Homestead环境中。以下是配置:\nserver {\n listen 80;\n server_name dev.subdomain.mysite.com;\n root /home/vagrant/sites/work/dev.subdomain.mysite.com/public;\n index index.html index.htm index.php;\n charset utf-8;\n location / {\n try_files $uri $uri/ /index.php?$query_string;\n proxy_set_header X-Forwarded-Proto https;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header Host $http_host;\n proxy_set_header X-Url-Scheme $scheme;\n proxy_redirect off;\n proxy_max_temp_file_size 0;\n }\n location = /favicon.ico { access_log off; log_not_found off; }\n location = /robots.txt { access_log off; log_not_found off; }\n access_log off;\n error_log /var/log/nginx/dev.subdomain.mysite.com-error.log error;\n error_page 404 /index.php;\n sendfile off;\n location ~ \\.php$ {\n fastcgi_split_path_info ^(.+\\.php)(/.+)$;\n fastcgi_pass unix:/var/run/php5-fpm.sock;\n fastcgi_index index.php;\n include fastcgi_params;\n }\n location ~ /\\.ht {\n deny all;\n }\n}\nserver {\n listen 443;\n server_name dev.subdomain.mysite.com;\n root /home/vagrant/sites/work/dev.subdomain.mysite.com/public;\n index index.html index.htm index.php;\n charset utf-8;\n location / {\n try_files / /index.php?;\n proxy_set_header X-Forwarded-Proto https;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header Host $http_host;\n proxy_set_header X-Url-Scheme $scheme;\n proxy_redirect off;\n proxy_max_temp_file_size 0;\n }\n location = /favicon.ico { access_log off; log_not_found off; }\n location = /robots.txt { access_log off; log_not_found off; }\n access_log off;\n error_log /var/log/nginx/dev.subdomain.mysite.com-error.log error;\n error_page 404 /index.php;\n sendfile off;\n location ~ \\.php$ {\n fastcgi_split_path_info ^(.+\\.php)(/.+)$;\n fastcgi_pass unix:/var/run/php5-fpm.sock;\n fastcgi_index index.php;\n include fastcgi_params;\n }\n location ~ /\\.ht {\n deny all;\n }\n ssl on;\n ssl_certificate /etc/nginx/ssl/server.crt;\n ssl_certificate_key /etc/nginx/ssl/server.key;\n}\n\n我已经禁用了应用程序中的所有路由,我的.htaccess是Laravel提供的默认设置。我不知道还能尝试什么。

0
0 Comments

Laravel/Homestead Nginx SSL重定向循环的问题通常是由以下原因引起的:

1. Laravel Homestead在vagrant box上使用44300作为443的别名。因此,需要将HTTP重定向到HTTPS,可以通过以下方式实现:

server {

listen 80;

server_name mysite.com;

return 301 https://example.com$request_uri;

}

server {

listen 443;

server_name example.com;

root /home/vagrant/sites/work/example.com/public;

[...] // All other Laravel-related stuff

}

2. 另外,您似乎正在使用Homestead进行开发站点,请确保您的host文件和homestead.yaml文件已正确设置,并确保一切都按照要求进行配置。

3. 当对SSL证书和nginx文件进行更改时,最安全的方法是使用vagrant reload重新加载所有编辑。

因此,要解决Laravel/Homestead Nginx SSL重定向循环的问题,您可以按照上述步骤进行操作。首先,确保您的nginx配置文件中正确设置了HTTP到HTTPS的重定向。然后,检查您的host文件和homestead.yaml文件是否正确配置。最后,在更改SSL证书和nginx文件后,执行vagrant reload以重新加载所有编辑。

0