Acest are sa fie un duplicat, dar caut de mult si nu am gasit nimic.
Când introduc adresa site-ului meu folosind http, înțeleg Pagina implicită NginX (https funcționează bine):
http://svija.love
Fișierul de configurare NginX conține, la sfârșit:
Server {
if ($gazdă = svija.love) {
returnează 301 https://$host$request_uri;
}
nume_server svija.love;
asculta 80;
întoarce 404;
}
Acesta a fost adăugat automat de Certbot.
M-aș aștepta ca declarația dacă ($gazdă = svija.love) ar prinde cererea http și va redirecționa către HTTPS.
Dar nu funcționează așa.
Nefiind expert, mi se pare că al doilea bit, începând cu nume_server svija.love, este în contradicție directă cu prima parte:
- primul bloc redirecționează dacă gazda este svija.love
- al doilea bloc returnează 404 dacă gazda este svija.love
Numele actual al serverului configurat este live.svija.love, dacă asta face diferența.
Orice clarificare ar fi foarte apreciată.
[ACTUALIZAȚI] Am eliminat fișierul de configurare implicit NginX și HTTP acum redirecționează către HTTPS așa cum era de așteptat.
Totuși, dacă cineva poate explica cele două blocuri de configurare de mai sus, mi-ar plăcea să înțeleg mai bine ce fac.
[ACTUALIZAȚI] Aceasta nu a fost o soluție bună (vezi mai jos).
[ACTUALIZAȚI Iată configurația dată de nginx -T:
utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;
evenimente {
conexiuni_muncitor 768;
}
http {
sendfile dezactivat;
tcp_nopush activat;
tcp_nodelay activat;
keepalive_timeout 65;
types_hash_max_size 2048;
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers activat;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
includ /etc/nginx/conf.d/*.conf;
includ /etc/nginx/sites-enabled/*;
}
load_module modules/ngx_http_image_filter_module.so;
load_module modules/ngx_http_xslt_filter_module.so;
load_module modules/ngx_mail_module.so;
load_module modules/ngx_stream_module.so;
Server {
nume_server antretoise.svija.site;
locație /static/ {
rădăcină /acasă/antretoise;
}
access_log /opt/logs/access.antretoise;
error_log /opt/logs/error.antretoise eroare;
Locație / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/antretoise.sock;
}
asculta 443 ssl;
ssl_certificate /etc/letsencrypt/live/antretoise.svija.site/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/antretoise.svija.site/privkey.pem;
includ /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
Server {
if ($gazdă = antretoise.svija.site) {
returnează 301 https://$host$request_uri;
}
asculta 80;
nume_server antretoise.svija.site;
întoarce 404;
}
uwsgi_param QUERY_STRING $șir_interogare;
uwsgi_param REQUEST_METHOD $cerere_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $schemă;
uwsgi_param HTTPS $https dacă_nu_vide;
uwsgi_param REMOTE_ADDR $adresă_la distanță;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
ssl_session_cache shared:le_nginx_SSL:10m;
ssl_session_timeout 1440m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers dezactivat;
ssl_ciphers „EC-AES128-SHA”;
Server {
asculta 80 default_server;
asculta [::]:80 default_server;
rădăcină /var/www/html;
index index.html index.htm index.nginx-debian.html;
numele serverului _;
Locație / {
try_files $uri $uri/ =404;
}
}
Server {
nume_server svija.love;
locație /static/ {
rădăcină /home/svijalove;
}
access_log /opt/logs/access.svijalove;
error_log /opt/logs/error.svijalove eroare;
Locație / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/svijalove.sock;
}
asculta 443 ssl;
ssl_certificate /etc/letsencrypt/live/svija.love/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/svija.love/privkey.pem;
includ /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
Server {
if ($gazdă = svija.love) {
returnează 301 https://$host$request_uri;
}
nume_server svija.love;
asculta 80;
întoarce 404;
}