Рейтинг:0

Nginx www не работает

флаг pt

Я действительно не знаю, почему моя конфигурация nginx не работает для www.

Моя конфигурация:

сервер {
    слушать 80;
    имя_сервера postimg.cz www.postimg.cz;
    вернуть 301 https://$server_name$request_uri;
}

сервер {
    слушать 443;

    имя_сервера postimg.cz;

    # Конфигурация SSL
    ssl_certificate /etc/letsencrypt/live/postimg.cz/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/postimg.cz/privkey.pem;
    ssl_session_cache общий: SSL: 10 м;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GC>
    ssl_prefer_server_ciphers включен;

    # См. https://hstspreload.org/, прежде чем раскомментировать строку ниже.
    # add_header Strict-Transport-Security "max-age=15768000; preload;";
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-защита "1; режим = блок";
    add_header X-Robots-Tag нет;
    add_header Content-Security-Policy «фрейм-предки 'self'»;
    add_header X-Frame-Options DENY;
    add_header Referrer-Policy тот же источник;

    корень /var/www/postimg.cz;

    # Отключить доступ к конфиденциальным файлам приложений
    location ~* (app|content|lib)/.*\.(po|php|lock|sql)$ {
        вернуть 404;
    }
    расположение ~* композитор\.json|композитор\.lock|.gitignore$ {
        вернуть 404;
    }
    расположение ~* /\.ht {
        вернуть 404;
    }

    # Изображение не найдено замены
    расположение ~* \.(jpe?g|png|gif|webp)$ {
        log_not_found выключен;
        error_page 404 /content/images/system/default/404.gif;
    }

    # Заголовок CORS (избегает проблем с отображением шрифта)
    местоположение ~* \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
        add_header Access-Control-Allow-Origin "*";
    }

    # Фронт-контроллер PHP
    место расположения / {
        индекс index.php;
        try_files $uri $uri/ /index.php$is_args$query_string;
    }

    # Единая точка входа PHP (отключает прямой доступ к файлам .php)
    расположение ~* \.php$ {
        внутренний;
        включить фрагменты/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

Но когда я иду в http://www.postimg.cz он не будет перенаправлять на https://postimg.cz почему это? Вы можете помочь мне с этим?

Сервер: Ubuntu Server 20.04

РЕДАКТИРОВАТЬ // Пробовал и это, тоже не работает:

сервер {
    слушать 80;
    имя_сервера www.postimg.cz postimg.cz;
    вернуть 301 https://$server_name$request_uri;
}

сервер {
    слушать 443 ssl;
    имя_сервера www.postimg.cz;
    ssl_certificate /etc/letsencrypt/live/www.postimg.cz/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.postimg.cz/privkey.pem;
    вернуть 301 https://postimg.cz$request_uri;
}

сервер {
    слушать 443 ssl;

    имя_сервера postimg.cz;
tilleyc avatar
флаг us
Вы пытались изменить `return 301 https://$server_name$request_uri;` на `return 301 https://postimg.cz$request_uri;`? Кажется, что перенаправление будет принимать любое заданное имя сервера, но у вас нет https-сервера с таким же именем.
Bazim avatar
флаг pt
Спасибо. Я полностью пропустил это. Это не из-за этого, но это тоже поможет, я думаю.
Рейтинг:0
флаг pt

Проблема была в домене хостинг-провайдера. Потому что я забыл указать адрес www для своего IP-адреса сервера. Я ставил DNS только без www. Я просто глуп.

djdomi avatar
флаг za
напомни принять ответ. Спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.