Я довольно новичок в Nginx и веб-серверах в целом.
Моя настройка docker, Nginx, PHP / laravel, + давайте зашифруем.
У меня есть Nginx файл конфигурации:
server {
listen 80;
server_name www.example.io;
return 301 https://example.io$request_uri;
}
server {
listen 80;
server_name example.io;
return 301 https://example.io$request_uri;
}
server {
listen 443 ssl;
server_name example.io;
ssl_certificate /etc/nginx/certs/example.io.pem;
ssl_certificate_key /etc/nginx/certs/example.io.key;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/public;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
}
}
Я уверен, что мои сертификаты не в том, в чем проблема. потому что они работают, когда у меня один сервер с портом 80 и у него server_name example.io www.example.io
, но в этом случае я не могу получить доступ к сайту через example.io как безопасный. в то время как www.example.io является безопасным. он также действует как два разных сайта. Я считаю, что куки в одном не реализуются в другом.
Я пытаюсь добиться того, чтобы я sh перенаправил www.example.io и example.io на https://example.io