В моем веб-приложении Laravel реализован google api, и геолокация работает только в том случае, если пользователь вручную вводит https перед именем домена (то есть у меня есть SSL-сертификат letsencrypt). Я пробовал различные решения, размещенные здесь, в различных онлайн-учебниках и на форуме сообщества цифровых океанов, и ничто не дает мне такой простой результат, какой я хочу.
Как это работает в данный момент:
- Если пользователь заходит на www.domain.com или domain.com, геолокация не работает.
- Если пользователь вводит https вручную до www.domain.com или domain.com, геолокация работает без проблем. .
Мой текущий код конфигурации nginx:
server {
listen 80;
root /var/www/domain/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name www.domain.com domain.com;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
То, что я пробовал:
Что я получаю в результате:
- «Страница перенаправляется неправильно» (firefox) / «Слишком много перенаправлений» (chrome)
- По умолчанию "Welcome to nginx!"страница приветствия (происходит, когда я делю свой текущий файл conf на 2 серверных блока)
Любая помощь будет принята с благодарностью, заранее благодарим вас!
РЕШЕНИЕ
Итак, благодаря этому Nitx git-серверу возвращает ошибку 500 несколько связанных постов, я смог изменить свой конфигурационный файл, чтобы он выглядел так:
server {
listen 80;
server_name www.domain.com domain.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 ssl;
server_name www.domain.com domain.com;
root /var/www/domain/public;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Надеюсьэто помогает другим, работающим над проектами Laravel, работающими на серверах LEMP:)