Не может перенаправить HTTP к HTTPS на NGINX

я пытался в течение нескольких дней настроить свой сертификат 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;
        }
1
задан 12 April 2018 в 06:26

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;
}
0
ответ дан 8 December 2019 в 01:38

Другие вопросы по тегам:

Похожие вопросы: