我正在尝试迁移服务器(从旧 IP 到新 IP)并链接到域名。我尝试将整个 letsencypt 文件夹连同权限一起从旧服务器复制到新服务器。当我尝试使用其 IP 地址访问新服务器时,我收到警告,但可以访问。但是一旦我将域名指向新服务器 IP。我通过新 IP 和域名都收到错误 NET::ERR_CERT_COMMON_NAME_INVALID。我尝试通过
sudo certbot 更新
在新服务器上。它说成功了,没有发出任何警告。迁移服务器的正确程序是什么?
我正在运行 16.04、nginx 1.10.3 和 wordpress。
我按照 vidarlo 的建议检查了证书。结果显示证书缺失。
我检查了文件 /etc/letsencrypt/live/www.outliip.org/fullchain.pem 和 /etc/letsencrypt/live/www.outliip.org/privkey.pem。但它们确实在那里。
我的 /nginx/site-available/default 如下
server {
listen 80;
server_name outliip.org www.outliip.org;
return 301 https://$host$request_uri;
}
server {
# SSL configuration
#
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/www.outliip.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.outliip.org/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
root /home/ubuntu/Dropbox/lwebsite;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~ /\.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
#return 301 https://$server_name$request_uri;
}
答案1
我访问了您的网站 - outliip.org
证书开具给万维网.outliip.org,而网站 URL 为 outliip.org,www.outliip.org 重定向到 outliip.org。对于证书而言,这是两个不同的网站。网站的主机名必须与证书中指定的主机名(通用名称或备用名称)匹配。
这就是它显示为不安全的原因。域名与主机名不匹配。
将您的网站移至 www.outliip.org,为 outliip.org 创建新证书,或者创建新证书,其中包括两个都-d outliip.org -d www.outliip.org
www.outliip.org 和 outliip.org。这可以通过在使用 certbot 请求证书时指定多个域()来实现。
重定向也可以轻松检查:
$ curl -I https://www.outliip.org
HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.3 (Ubuntu)
Date: Sun, 29 Apr 2018 20:02:55 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Set-Cookie: PHPSESSID=g05refh2co4njmcoic3jp1kk61; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
X-Pingback: https://outliip.org/xmlrpc.php
Location: https://outliip.org/