2017-02-07 5 views
0

Я настраиваю SSL-сертификат letencrypt на веб-сервере под управлением Nginx.letencrypt на nginx и не-www https на www https redirect

http to https redirect для не-www и www работает нормально. Работает непосредственно на https://www.example.com работает. https non-www не работает, и браузер возвращает соединение.

Итак: http://example.com к https://www.example.com

http://www.example.com в https://www.example.com

работы

https://example.com в https://www.example.com

не работают

мой сайт конф является

server { 
listen 80; 
server_name example.com www.example.com; 
return 301 https://www.example.com$request_uri; 
} 

server { 
    listen 443 ssl http2; 
    server_name example.com; 

    #ssl certs locations etc. 

    return 301 https://www.example.com$request_uri; 
} 

server { 
    listen 443 ssl http2; 
    server_name www.example.com; 

    #ssl certs locations etc. 

    #rest of main block 
} 

letsencrypt CERT был создан с помощью команды (certbot-auto, потому что сервер работает под управлением старшего дистрибутиве):

certbot-auto certonly -n -a webroot --webroot-path=[path to webroot] -d example.com -d www.example.com --email [email protected] --agree-tos 

Посмотрев на другие подобные вопросы, то Nginx конф должен работать. Насколько я понимаю, как я создал сертификат, существует сертификат для example.com и www.example.com.

Когда я загружаю веб-сайт и просматриваю сертификат, оба они перечислены в разделе Альтернативное имя субъекта.

ответ

1

Решено. Оказалось, что проблема с настройкой DNS. Был зарегистрированный регистратор на заказ для example.com на www.example.com. Удаление этого и добавление записи A для example.com исправили все.