я пытался в течение нескольких дней настроить свой сертификат SSL на NGINX, я получил его работа, но попробованные различные способы перенаправить мой Трафик HTTP к HTTPS, все конфигурации, которые я попробовал отказавший, я скопировал свой файл конфигурации ниже (или что оставляют его), чтобы кто-то смотрел на него, SSL работает, когда я tipe https://example.com, но я не могу заставить его работать при вводе www.example.com, продолжаю добираться, ошибка 404 не может перенаправить трафик к https, я прокомментировал ssl строки, таким образом, я могу поддерживать свой веб-сайт в рабочем состоянии на порте 80, пока я не пойму это, любая справка будет цениться, спасибо
#include /etc/nginx/blockuseragents.rules;
# server {
# if ($blockedagent) {
# return 403;
# }
# if ($request_method !~ ^(GET|HEAD|POST)$) {
# return 444;
# }
# listen [::]:80;
# listen 80;
# server_name example.com www.example.com;
#
#
# listen [::]:443 ssl http2;
# listen 443 ssl http2;
# server_name www.example.com;
#
# ssl off;
# SSL configuration
# #
# ssl_prefer_server_ciphers on;
# ssl_ciphers 'ECDH !aNULL !eNULL !SSLv2 !SSLv3';
# ssl_certificate /etc/nginx/ssl/file.crt;
# ssl_certificate_key /etc/nginx/ssl/server.key;
# server_name www.example.com;
#
# root "/var/www/example.com/html/web";
# index index.html index.htm index.php;
# charset utf-8;
location / {
try_files $uri $uri/ /index.php?$args;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?r=$1;
}
Вам нужны отдельные разделы server {} в вашей конфигурации для каждого сайта, который вы хотите обслуживать, и, учитывая, что вы хотите различного поведения в зависимости от того, прибывает ли пользователь на http:
или https:
, они должны быть определены как отдельный сервер { } разделы.
В одном вы будете прослушивать порт 80, а в другом - порт 443 и включать ssl и http2.
В том, который прослушивает порт 80, единственное, что вы хотите объявить в этом разделе, - это перенаправление на тот же URL, но с https:
.
На моем сайте эти заглушки для перенаправления выглядят так:
server {
listen 80;
listen [::]:80;
server_name some.example.com;
return 301 https://some.example.com$request_uri;
}