Сервер: Ubuntu, nginx.
У меня есть домен example.com
зарегистрирован на namecheap.com и настроен в DigitalOcean. у меня есть CNAME
запись для www
поддомен:
www.example.com. 1800 IN CNAME example.com.
Вот мой /etc/nginx/sites-enabled/default
содержимое файла:
# HTTP - redirect all requests to HTTPS
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
return 301 https://$host$request_uri;
}
# HTTPS - serve HTML from /usr/share/nginx/html, proxy requests to /parse/
# through to Parse Server
server {
listen 80;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443;
server_name example.com;
root /home/example/website;
index index.html index.htm;
ssl on;
# Use certificate and key provided by Let's Encrypt:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
# Config (http://www.westphahl.net/blog/2012/01/03/setting-up-https-with-nginx-and-startssl/)
add_header Strict-Transport-Security max-age=31536000;
add_header X-Frame-Options DENY;
# Pass requests for /parse/ to Parse Server instance at localhost:1337
location /parse/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:1337/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
location / {
try_files $uri $uri/ =404;
}
}
Однако когда я пытаюсь открыть www.example.com
Firefox показывает SSL_ERROR_BAD_CERT_DOMAIN
Ошибка «Ваше соединение небезопасно».
Как это исправить?
ОТВЕТ: Спасибо всем, кто предлагает, за выдачу SSL-сертификата для www
поддомен сделал свое дело.
Вот команда для Let's Encrypt:
./letsencrypt-auto certonly --standalone -d example.com -d www.example.com
Вывод со страницы предупреждений Chrome
Этот сервер не смог доказать, что это www.example.com; его сертификат безопасности от example.com. Это может быть вызвано неправильной конфигурацией или злоумышленником, перехватывающим ваше соединение.
Сертификат выдан домену верхнего уровня, example.com
, но не субдомен www.exmample.com
.
Если поставщик ssl сообщает, что он должен предоставить вам www, обратитесь к нему за дополнительной информацией.
Обратите внимание, что это предупреждение поступает на уровне подтверждения SSL и до того, как запрос достигнет сервера nginx для обработки.