使用 letsencrypt 正确迁移服务器

使用 letsencrypt 正确迁移服务器

我正在尝试迁移服务器(从旧 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

SSL 证书

证书开具给万维网.outliip.org,而网站 URL 为 outliip.org,www.outliip.org 重定向到 outliip.org。对于证书而言,这是两个不同的网站。网站的主机名必须与证书中指定的主机名(通用名称或备用名称)匹配。

这就是它显示为不安全的原因。域名与主机名不匹配。

将您的网站移至 www.outliip.org,为 outliip.org 创建新证书,或者创建新证书,其中包括两个都-d outliip.org -d www.outliip.orgwww.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/

相关内容