WordPress建站:Linode VPS上部署SSL启用HTTPS全攻略

料神Sam2016-12-24外贸建站55929 次访问142 评论

14152514_l

2019 年更新:注意新版的 LNMP 一键安装包(lnmp.org)从 1.5 版本开始自带稳定的 SSL 证书安装配置模块,可实现自动续期。命令为 lnmp ssl add。具体见 https://lnmp.org
本文写得较久了,不保证内容仍然有效!

这阵子,外贸圈子里最热的就两个事情:

  1. 从 2017 年 1 月 1 日起,国家税务总局开始清查境外账户(CRS 体系下的非居民账户)
  2. 从 2017 年 1 月 1 日起,谷歌 Chrome 浏览器将会把采用 HTTP 协议的网站标记为“不安全”网站

第 1)件事情我们先不论,后面文章再说。先说说第 2 件事。

Google 一直在推动网站从 HTTP 切换到 HTTPS。可以说,谷歌越来越偏爱安全级别高的网站。2014 年 8 月,Google 将 HTTPS 正式作为排名因素之一。

HTTPS 网站被认为是安全的网站,将会比 HTTP 的网站在排名上获得小幅优势。而在过去的两年中,谷歌对于 HTTPS 网站的网页抓取收录也在明显上升:

google-indexed-pages-in-page1

2014 年 1 月-2016 年 1 月 过去 2 年中谷歌收录的页面中,HTTPS 网页的收录量已经超过 30%

而从谷歌官方人员 John Mueller(谷歌站长趋势分析师)的话中也可以看出来,谷歌会破开一切阻挠推行 HTTPS :

john-mueller

关于更多的信息,我就不列举国外消息了。看图说话吧,从别的网站上截的:

read-this

从 2017 年 1 月 1 日起,谷歌 Chrome 浏览器将会把采用 HTTP 协议的网站标记为“不安全”网站

谷歌官方博客消息原文:https://security.googleblog.com/2016/09/moving-towards-more-secure-web.html


那么问题来了:谷歌会不会也在搜索引擎结果页面中标记 HTTP 网站为不安全网站呢?

答案是:很有可能。

那么我们外贸英文网站应该怎么办呢?HTTPS 的目的是确保交易类网站的安全,保证涉及网站平台账户信息,付款信息以及信用卡等信息不泄露。在 SEO 方面的作用是在 seo 上获取谷歌的好感,排名能够比 HTTP 网站提升一些,但提升幅度也很小。毕竟影响谷歌排名的因素多达 200 多个,这并不足以对整体网站排名权重产生根本影响。总体而言,

  • 如果你是 B2C 网站,因为会涉及到商城,购物车,付款和订单信息,在线支付等方面的因素,我认为很有必要启用 HTTPS。
  • 而外贸 b2b 网站更多地只是做个公司展示,产品展示,所以 HTTPS 的意义没有 B2C 网站那么大。但加上一个是可以提升“bigger”,另一方面访客也会觉得安全。
最终结论:HTTPS 是大势所趋,不管是 B2C 还是 B2B 网站,迟早都要启用的。

接着来说怎么给网站从 HTTP 换用 HTTPS。总体来说分为四个步骤:安装 SSL 证书、部署 SSL 证书、修改网站配置文件 conf 、网站 URL 中 HTTP 替换为 HTTPS。

一、安装 SSL 证书(Let’s Encrypt)

SSL 证书有免费的也有收费的。具体就不科普了。免费的也可以用,如大名鼎鼎的 Let’s Encrypt SSL certificates.
(2017.6 月更新:Let’s Encrypt 已正式更名为 Certbot )

本文主要介绍 VPS 怎样安装部署 SSL 证书并启用 HTTPS。

下载和安装证书

1)先安装 git 包

连接上 VPS 后,在 Xshell 上粘贴命令(每条命令用鼠标右键复制粘贴,回车执行即可。不支持 ctrl+v 粘贴):

sudo yum install git

2)下载证书包

sudo git clone https://github.com/certbot/certbot /opt/letsencrypt

3)进入证书目录

cd /opt/letsencrypt

二、创建并部署 Let’s Encrypt SSL 证书

继续命令行执行:

./certbot-auto certonly --standalone --email 2897xxx@qq.com -d www.example.com -d example.com

注意:

  • 上面命令中的 email 地址是方便你接收证书密钥回复以及紧急信息的,尽量填写企业邮箱或者 gmail 邮箱,QQ 邮箱应该也可以,你可以填写试试。
  • 你的网站域名如果是 xyz.com,那么上面就改为:-d www.xyz.com -d xyz.com

建议先把上面命令复制粘贴到记事本里,把 www.example.comexample.com 先替换好,然后粘贴执行。

然后等待:

waiting

接着,会询问你是否同意的协议。agree 的话,输入 a,回车。此时就准备创建证书了。

如果发生故障,如提示:

Problem binding to port 80: Could not bind to IPv4 or IPv6.

那么请参考这篇文章解决:

最后成功创建证书。

一般情况下,屏幕显示创建的信息如下:

IMPORTANT NOTES:
- If you lose your account credentials, you can recover them through
  e-mails sent to somebody@example.com.
- Congratulations! Your certificate and chain have been saved at
  /etc/letsencrypt/live/example.com/fullchain.pem. Your
  cert will expire on 2016-03-31. To obtain a new version of the
  certificate in the future, simply run Let's Encrypt again.
- Your account credentials have been saved in your Let's Encrypt
  configuration directory at /etc/letsencrypt. You should make a
  secure backup of this folder now. This configuration directory will
  also contain certificates and private keys obtained by Let's
  Encrypt, so making regular backups of this folder is ideal.
- If you like Let's Encrypt, please consider supporting our work by:

  Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
  Donating to EFF:                    https://eff.org/donate-le

此时粘贴执行命令:

sudo ls /etc/letsencrypt/live

会列出该目录下,证书文件存放的网站文件夹,文件夹名就是网站域名。

cer1

注意看一下是主域名还是 www 域名。这很重要!一会配置证书路径的时候需要检查一下,保证路径正确!比如,这里显示的是主域名,如图中 pxxxl.com,此时继续粘贴:

sudo ls /etc/letsencrypt/live/pxxxl.com(或可能是 www.pxxxl.com)

注意上面 pxxxl.com 替换成你的域名。此时会显示创建了 4 个证书。分别是:

cert.pem
chain.pem
fullchain.pem(公钥)
privkey.pem(私钥)

最后两个是我们要用的,需要写到虚拟主机配置文件 conf 里面。

三、修改网站配置文件

用 XFTP 进入 /usr/local/nginx/conf/vhost/ 下的 你的网站的配置文件,通常是 www.xyz.com.conf 文件。下载下来,用 notepad++ 或 Sublime Text 之类的专业的编辑器打开编辑

注意:别用电脑系统自带的记事本,那个只是处理文字用的,会把代码编码弄乱。你可以百度搜索:notepad++,在百度的下载那里选择普通下载,然后下载安装。

CTRL+A 全选中所有代码,删除。然后复制下面我已经配置好的代码,粘贴进入。

server
 {
 listen 80;
 #listen [::]:80;
 server_name www.xyz.com xyz.com;
 return 301 https://www.xyz.com$request_uri;
 }

server
 {
 listen 443 ssl http2;
 ssl_certificate /etc/letsencrypt/live/www.xyz.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/www.xyz.com/privkey.pem;
 # 注意检查上面证书的路径,live 下的证书文件夹名是否含有 www,如果没有,请在上面两行中删除 www.

 ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 ssl_session_cache shared:SSL:10m;

 # HSTS (ngx_http_headers_module is required) (31536000 seconds = 12 months)
 # add_header Strict-Transport-Security "max-age=31536000" always;

 # OCSP Stapling ---
 # fetch OCSP records from URL in ssl_certificate and cache them
 ssl_stapling on;
 ssl_stapling_verify on;

index index.html index.htm index.php default.html default.htm default.php;
 server_name www.xyz.com;
 root /home/wwwroot/www.xyz.com;

include wordpress.conf;
 #error_page 404 /404.html;
 include enable-php.conf;

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
 {
 expires 30d;
 }

location /wp-content/uploads/ {  
location ~ .*\.(php)?$ {  
deny all;  
} 
} 

location ~ .*\.(js|css)?$
 {
 expires 12h;
 }

location ~ /\.
 {
 deny all;
 }
 access_log off;
 }

注意检查一下,把上面所有的 xyz.com 换成你的网站主域名。然后保存。

注意:为了让过程简单一些,我们这先别急着上传覆盖源文件。先别重启 nginx。这一步我们先配置好文件,但先不上传重启 nginx。

 

四、把 WordPress 数据库中 HTTP 替换成 HTTPS

登录 WordPress 后台,然后点击插件,安装插件,搜索:Velvet Blues Update URLs  插件,启用。

启用之后,按照图中设置,

replace

点击 Update 按钮。之后在上方会显示进行了哪些替换处理的结果:

replace2

然后,检查一下:

设置(Setting)-常规(General) 那里,WordPress 地址 和 网站地址(Site URL) 是不是都改成 https 了。如:https://www.xyz.com

如果还是 http,请手动修改一下。修改之后,系统会立即把你登出后台。

五、上传网站配置文件,重启 nginx

上传第三步我们保存的 www.xyz.com.conf 覆盖掉原文件,

接着 Xshell 执行:service nginx restart

OK,此时 访问你的网站,会自动跳转到 https。

OK,此时再访问首页,已经是绿色小锁加持了!

finished

 

finished-1

 

finishedp-2

 

finished-3

六、我都做了,为什么看不到小绿锁?

可能有些人完成第五步后,发现 chrome 浏览器 https 左边并没有出现绿色的小锁啊?

说说两种情况:

如果你是新装 WordPress,这一步必显示绿色小锁。

如果你是网站搬家,把之前的网站搬过来的,那么可能会不显示小锁。如果你每一步都做好了,但是还是不显示小绿锁,那么只能说,你的数据库中调用的资源虽然都是 https 的,但是页面存在仍用 http 调用的资源。最常见的可能是:

某个主题的 banner 图片,你在 主题设置 里面填写的某个资源(多数是图片) 的 URL 地址是死的,并不会被存入数据库,所以用插件替换不掉。比如:http:www.xyz.com/wp-content/upload/2016/xx/xxxx.jpg

类似这样在主题设置里写死的 URL 里的 http,插件是没有办法替换到的。所以你要自己去检查是否有调用 https:// 的资源。把这些改成 https:// 就会正常出现小绿锁了。

怎么检查呢?

用浏览器的 F12(科学点的浏览器,如 chrome, firefox … 搜狗高速模式也 OK,360 我不用所以不知道,IE 是铁定不行)。

按 F12 后弹出的工具界面 tab 里选择 network,会列出加载的网络资源。注意这时候是空的,因为页面已经加载完毕了。

resource-examination

你需要再按一下 F5 刷新页面,这个时候会出现加载的资源列表。把鼠标移动到这些资源的 URL 那里会自动显示出资源 URL 地址。一个个检查哪个是 http 的,然后想办法改掉就 OK 了!

七、关于免费的 Let’s Encrypt SSL 证书的说明

免费的 L et’s Encrypt SSL certificates 的有效期一般是 90 天,90 天之后可以再续期。也不麻烦,执行命令行即可。

八、可以让证书到期自动续期吗?

可以!利用 cron 可以让证书到期自动续期。

关于自动续期,建议看看这篇文章:Certbot 对免费 Let’s Encrypt 证书的自动续期,So Easy!

九、测试 SSL 是否完全 OK

感谢 @tudou 提供的测试网址:

https://www.ssllabs.com/ssltest/

测试结果:A+  完美~!

get-score

十、为什么我的测试结果是 A,不是 A+?

没关系,A 已经够了!写这篇文章之前,我配置 SSL 的 nginx 规则代码(本文第三部分)里是含有 HSTS (HTTP Strict Transport Security) 协议的。至于什么是 HSTS 协议,你可以自行百度。

如果你的 SSL 规则里添加了 HSTS 协议,那么它起到的主要作用是 强制用户的浏览器只能用 https 来访问你的网站。所以得分一定高:A+。上面截图也是基于之前的 https 配置。

但是,根据我数次试验,HSTS 是个双刃剑,一旦你启用了,想取消特别特别麻烦。所以我后来在文章中把那个代码注释掉了。大家可以无视,其实得分 A 也够了!

如果你特别在意得分,觉得网站也一直会使用 https 下去,那么就在第三部份的网站配置代码中 443 Server 段内,找到以下这两行代码:

 # HSTS (ngx_http_headers_module is required) (31536000 seconds = 12 months)
 # add_header Strict-Transport-Security "max-age=31536000" always;

HSTS 要求 max-age 最少为 6 个月,即 15768000,最好为 12 个月。

把上面第 2 行里的 add_header 前面的 # 号去掉,保存覆盖重启 nginx 即可启用 HSTS。再测试得分,就是 A+。

但,我还是建议不要单纯为了锦上添花的分数给自己麻烦。一旦加了 HSTS 之后,想取消很麻烦。以后你如果想临时停用 https,网站是无法访问的。因为你网站临时恢复成 http,但 HSTS 强制了所有访问者的浏览器在 12 个月内只能用 https 来访问,于是就会访问出错。因此,建议如果以后需要,再加上这条。

关于 HSTS 的用法其实还有更细节的内容,比如,如果对子域名也同样执行 HSTS,则规则为:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

还有是否创建 preload list 等等……

这里不想介绍那么多,因为并不建议设置 HSTS,所以这里就不再多说了,有需要请自行百度。

十一、有两个网站,怎么给第二个网站配置 https?

进入证书目录

cd /opt/letsencrypt

粘贴一下命令,回车执行:

sudo -H ./certbot-auto certonly --standalone --email 12345@qq.com -d www.example.com -d example.com

此时,会提示你端口 443 已经占用,无法安装证书。

由于我们第一个网站的 https 已经占用了 443 端口,所以我们要先把 443 端口进程关闭。一般是因为当前网站 nginx 占用了 80 和 443 两个端口。所以我们先执行:

service nginx stop

如果停止成功,则重新粘贴上面那条 sudo 命令来安装证书

如果出现如下的问题,如截图所示:

那么就要从进程里把 nginx 强制关闭。执行命令查看 nginx 的 PID:

ps aux |grep nginx

可以看到类似于如下截图中的进程信息:

比如:图中有三个 PID:28576 28579 29928  (不一定是这 3 个进程号,你要自己看)

于是执行命令:kill -9 28576 28579 29928  (格式为 kill -9 进程号 1 进程号 2 进程号 3,进程号之间有空格)

然后再执行命令:service nginx stop,停止 nginx 之后,接着粘贴上面那条 sudo 的命令,即可正常给第二个网站安装证书。

安装完证书,完成之后,记得重启 nginx!

service nginx restart

安装好证书后,再从第三步开始配置网站 conf 文件。三、四、五、八。


本文完!

 

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到: 微信 新浪微博 QQ Qzone
料神Sam
料神Sam
识不足则多虑,威不足则多怒,信不足则多言。

142条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

我不是机器人
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
呃,评论有点多呢... 料网小秘书为您玩命加载中...
  1. #0
    Kevin扬

    料神为什么我找不到 http://www.xyz.com.conf 这样的文件?我的 vhost 文件夹里空空如也,我有自己新建一个文件,名字和格式改掉,然后把那段代码放进去还好,可是 xshell 提示这个自己加的文件无效?这怎么破,请赐教,万分感谢!

    3年前 (2019-05-08)回复
    • 料神Sam
      LiaoSam,外贸综合症患者。
      @Kevin扬 你安装了 LNMP 环境没有?安装完之后,还要执行 lnmp vhost add 命令添加网站的。完成这个操作才会在 vhost 下生成一个网站的配置文件(www.xyz.com.conf)。
      3年前 (2019-05-09)回复
      • @LiaoSam 该评论为私密评论

        3年前 (2019-05-09)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @Kevin扬 如果你装的是一键安装包 lnmp.org 的环境包的话,访问地址应该是 http://yourip/phpmyadmin 而且安装 ssl 证书其实也有相应的命令。lnmp ssl add。本文开头就有红色字体提示文字。 如果你装的是其他环境,那么 phpmyadmin 这个目录的地址,你需要先弄清楚在什么地方才能访问。如果你是/home/wwwroot/default,那么 http://yourip/phpmyadmin 就可以访问,不要用 https,ip 地址是不支持 https 的。
          3年前 (2019-05-09)回复
          • Kevin扬

            @Liaosam 谢谢料神提醒,我想可能是因为我改了些东西,强制把 http 跳转到 https,那么现在我可以逆转过来吗?就是取消 http 跳转到 https 的这个规则,或者,我是否可以单独设置 phpmyadmin 的链接不要跳转到 https 而是维持在 http,以便我可以进入 phpmyadmin 去修改数据库?

            3年前 (2019-05-09)回复
            • 料神Sam
              Liaosam,外贸综合症患者。
              @Kevin扬 不用啊,你直接浏览器输入 http://1.2.3.4/phpmyadmin 难道不能访问吗?(IP 换成你的 VPS ip)
              3年前 (2019-05-09)回复
              • Kevin扬

                @Liaosam 哇,不愧是料神!果然真的可以,太崇拜了!!!

                3年前 (2019-05-09)回复
  2. #0
    晴天sun

    覆盖 conf 一直重启失败[root@li1119-235 ~]# service nginx restart Stoping nginx… nginx is not running. Starting nginx… nginx: [emerg] open() “/usr/local/nginx/conf/wordpress.conf” failed (2: No such file or directory) in /usr/local/nginx/conf/vhost/www.longwaymachinery.com.conf:33 failed WordPress 现在无法登陆了

    3年前 (2019-03-26)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @晴天sun 最新版本的 LNMP 一键安装程序里,wordpress.conf 伪静态文件目录有所改变了。错误提示信息提示了文件找不到,就要检查一下路径了。在你网站的配置文件 http://www.longwaymachinery.com.conf 文件中,把 include wordpress.conf; 改成 include rewrite/wordpress.conf; 保存,上传,覆盖原 http://www.longwaymachinery.com.conf 文件。然后重启 nginx 服务。 不过这篇教程有点老了,不保证仍然有效。现在新版的 LNMP 不是自带 SSL 模块吗? 安装命令 lnmp ssl add
      3年前 (2019-05-03)回复
    • Herman

      @晴天sun wordpress.conf 的正确目录是:include /usr/local/nginx/conf/rewrite/wordpress.conf;(料神代码第 33 行),保存上传后,直接 service nginx restart 即可

      3年前 (2019-11-18)回复
  3. #0
    百宝小筑

    SAM 哥,问下 linode 的 LNMP 环境,如何弃用现在的域名,换成新的域名呀,带 SSL 证书呢!

    4年前 (2018-11-02)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @百宝小筑 你折腾得太多了,我没法详细回复你。改域名解析删除旧域名的解析记录,增加新域名的解析记录,用替换 URL 插件把原域名批量替换成新域名。然后安装 SSL 证书。如果是旧版的 LNMP1.3,升级一下起码到 1.4,然后有安装 SSL 证书的命令。lnmp ssl add 注意一些事项:https://lnmp.org/faq/upgrade1-4.html
      4年前 (2018-11-02)回复
  4. #0

    请教,lnmp1.5d 的虚拟主机网站配置文件该怎么写啊?直接用上面的这个,不行呢。 :mrgreen:

    4年前 (2018-07-11)回复
  5. #0
    小璞叔叔

    关于安装 SSL 证书,按照 Sam 上面的步骤,我也遇到跟下面同学一样的错误。 尝试从 Google 上找寻解决办法,但是根本看不懂,不过无意间发现了一个小问题 ——在安装 SSL 证书是的一个命令“./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com”里 Sam 有个小小的手误,就是“–standalone”和“–email”应该是“–standalone”和“–email”。所以下面有很多同学都遇到了这个情况,但也不知道该怎么解决。 从 “十一、有两个网站,怎么给第二个网站配置 https?” 的命令 “sudo -H ./certbot-auto certonly –standalone –email 12345@qq.com -d http://www.example.com -d example.com”也可以看出差异。 可是我还是没能安装成功! 直到达到了证书的安装限制。(上网搜了一下,好像是 7 天只能申请 6 次左右。) 无奈之下,我就用了另一个域名,重新来过。只是第二步安装 SSL 证书的时候,把原来的命令“./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com”改为用 给第二个网站部署证书的命令“sudo -H ./certbot-auto certonly –standalone –email 12345@qq.com -d http://www.example.com -d example.com”,其他按照 Sam 的步骤 没变化,完成了 SSL 证书的安装。 补充一点,关于最新的自动续期的方法,“Certbot 对免费 Let’s Encrypt 证书的自动续期,So Easy!”(https://www.liaosam.com/use-cron-service-and-certbot-for-renewal-of-letsencrypt-ssl-certificates.html)里面“五、创建 Cron 文件”有一个手误 ——“此时相当于准备创建一个 root 用户的空白 crontab 文件。直接按住 shift+分号(打出冒号来),然后输入 q,回车。退出编辑文件状态。”这里的“然后输入 q”应该是“然后输入 wq”,这个可以参考之前的一篇文章“https://www.liaosam.com/renew-your-ssl-certificate.html”里的“4)执行 Cron 自动续期命令”。 我刚开始一直出问题,也不知道该怎么解决,然后就翻出了之前的文章看能不能找到方法,发现了这个小失误。 上面就是我最近遇到的情况和解决办法,希望能给有类似情况的同学一个参考。其他的问题,我也不清楚,因为我不懂代码这些东西。 (虽然不懂内在的原理,但是通过自己的操作一步步解决问题,并把证书安装完成之后,内心还是有点小激动的~) 感谢 Sam 的付出! :mrgreen: :mrgreen: :mrgreen:

    4年前 (2018-05-26)回复
    • @小璞叔叔 这位老哥说的 nice 不过可能是系统原因还是没有纠正过来 :roll: 。 【“./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com”】 是两条杠杠哟,不然识别不了语法了。出现错误。

      4年前 (2018-06-03)回复
      • 小璞叔叔

        @Spandex Fabrics 是的,– 不是 —。

        4年前 (2018-06-03)回复
    • 小璞叔叔

      @小璞叔叔 Hi Sam, 有个疑问,为什么按照上面的操作,在 Linode 上可以成功安装 SSL 证书,但是在 Vultr 却一直都失败?VPS 的差异? P.S.: LNMP1.4 在 Vultr 上没问题。(就像你说的 LNMP1.4 的 SSL 是集成的)。 补充: 在安装 SSL 证书是的一个命令“./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com”里“–standalone”和“ –email”前面是 两个段线(数字键 0 右边的按键 按两下) –,不是一个长线—。上条评论里我已经改过来了,但在评论区显示还是一个长线。

      4年前 (2018-06-03)回复
      • 小璞叔叔

        @小璞叔叔 安装 LNMP1.4 的的命令“wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh”,在 Vultr 上实在没法安装 SSL,被逼无奈网上找了其他的资料,无意间看到 LNMP1.4 跟 1.3 大差不差,不过最后多了 SSL 的选项,简单的问答,填一下就好了,希望可以帮到大家。 : )

        4年前 (2018-06-03)回复
    • @小璞叔叔 应该是“./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com,不然会报错

      4年前 (2018-07-11)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @小璞叔叔 哦,是的。因为那行代码没有用代码模式,导致两个短 — 直接显示成一个长 –。现在修正一下。
      4年前 (2018-10-31)回复
  6. #0
    jacky

    [root@vultr letsencrypt]# ./certbot-auto certonly ?standalone ?email jacky@****(马赛克).com -d www.****(马赛克).com -d ****(马赛克).com usage: certbot-auto [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] … Certbot can obtain and install HTTPS/TLS/SSL certificates. By default, it will attempt to use a webserver both for obtaining and installing the certificate. certbot: error: unrecognized arguments: ?standalone ?email jacky@****(马赛克).com 不知道什么问题,怎么办?料大大

    4年前 (2018-05-23)回复
    • 小璞叔叔

      @jacky “–standalone”和“ –email”前面是 两个段线(数字键 0 右边的按键 按两下) –,不是一个长线—。

      4年前 (2018-06-03)回复
  7. #0
    harry

    料大,您好:文章中的下载证书包:sudo git clone https://github.com/certbot/certbot /opt/letsencrypt 怎么不行了。如何去找到这个证书包呢?

    4年前 (2018-05-22)回复
  8. #0

    修改了 https 以后,后台登不进去了,这个怎么解决啊?

    4年前 (2018-05-08)回复
  9. #0
    Jane LI

    料神帮给看下这个吧, 找了一天答案没找到解决办法,, Email, 总是不能识别是怎么回事呢? certbot: error: unrecognized arguments: –standalone –email lzhen0509@gmail.com

    4年前 (2018-05-02)回复
    • ryan

      @Jane LI 同样的问题,感觉很困惑,几个月前按照这个步骤是没有问题的,用两个域名试了两个服务器都是这个结果,是不是这个命令已经失效了呢?

      4年前 (2018-05-03)回复
      • 小璞叔叔

        @ryan 同上 ,“–standalone”和“ –email”前面是 两个段线(数字键 0 右边的按键 按两下) –,不是一个长线—。

        4年前 (2018-06-03)回复
    • yan

      @Jane LI 第三个命令 有用这个 cert.pemchain.pemfullchain.pemprivkey.pem,后面写邮箱, 其他的还按料大的来就行

      4年前 (2018-05-04)回复
      • @yan 你的意思是把 ./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com 这个命令替换成 cert.pemchain.pemfullchain.pemprivkey.pem 2897xxx@qq.com 这个命令吗?我试了一下还是不行啊

        4年前 (2018-05-07)回复
        • 小璞叔叔

          @张皓昱的博客 你试试 这个看有没有用,“–standalone”和“ –email”前面是 两个段线(数字键 0 右边的按键 按两下) –,不是一个长线—。

          4年前 (2018-06-03)回复
    • ryan

      @Jane LI @Liaosam 料神帮忙看看吧。

      4年前 (2018-05-08)回复
    • danny

      @Jane LI 我也遇到这个问题,我是先更新 git 到 git-2.4.5 版本,网上有教程,然后用回会之前的 letsencrypt 命令: ./letsencrypt-auto certonly –standalone –email xxx@xxx.com -d http://www.xxx.com -d xxx.com 就成功了。

      4年前 (2018-05-11)回复
      • ryan

        @danny 你好,我试过了你的方法,但是还是同样的结果。

        4年前 (2018-05-11)回复
      • Harry

        @danny 您的意思是先升级 git 到 2.4.5 版本,然后按照如下步骤操作? 2)下载证书包 sudo git clone https://github.com/certbot/certbot /opt/letsencrypt 3)进入证书目录 cd /opt/letsencrypt 继续命令行执行: ./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com

        4年前 (2018-05-30)回复
    • 小璞叔叔

      @Jane LI 你看看这个行不行,“–standalone”和“ –email”前面是 两个段线(数字键 0 右边的按键 按两下) –,不是一个长线—。

      4年前 (2018-06-03)回复
  10. #0
    ccc

    python3 创建虚拟机问题 export LC_ALL=C

    4年前 (2018-04-20)回复
  11. #0
    泰顺

    该评论为私密评论

    4年前 (2018-03-22)回复
  12. #0
    小朱

    你好,安装第二步 ./certbot-auto certonly –standalone –email 2897xxx@qq.com -d http://www.example.com -d example.com 提示: Bootstrapping dependencies for RedHat-based OSes that will use Python3… (you can skip this with –no-bootstrap) yum is /usr/bin/yum To use Certbot, packages from the EPEL repository need to be installed. Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: mirror.sfo12.us.leaseweb.net * elrepo-kernel: repos.lax-noc.com * extras: mirror.hmc.edu * updates: mirrors.xmission.com Package epel-release-6-8.noarch already installed and latest version Nothing to do No supported Python package available to install. Aborting bootstrap! 请问这个怎么解决!

    4年前 (2018-03-16)回复
  13. #0
    若州

    在搬瓦工 VPS 上的网站设置 HTTPS 也是一样的步骤吧?

    4年前 (2018-03-03)回复
  14. #0

    部署 ssl 很重要

    4年前 (2018-02-22)回复
  15. #0
    泰顺

    已经解决。

    5年前 (2017-12-21)回复
  16. #0
    nzh39

    该评论为私密评论

    5年前 (2017-12-18)回复
  17. #0

    该评论为私密评论

    5年前 (2017-11-09)回复
  18. #0

    料神,你好! sudo git clone https://github.com/certbot/certbot /opt/letsencrypt 证书包的下载地址是空的,提示 fatal: destination path ‘/opt/letsencrypt’ already exists and is not an empty directory. 能提供下正确下载地址吗? 感谢!

    5年前 (2017-11-03)回复
    • @光头强 这个的意思不是下载地址是错的,是指你的服务器上存在 lets encrypt 这个文件夹,而且这个文件夹不为空,通过 xftp 查看,文件路径/opt/letencrypt

      4年前 (2018-05-01)回复
  19. #0
    paul

    问题位置: 三、修改网站配置文件 index index.html index.htm index.php default.html default.htm default.php; server_name http://www.xyz.com; root /home/wwwroot/www.xyz.com; 请教: 如果一开始我安装的就是不带 www 的网站域名为主要显示域名 并且服务器里路径也已经是 root /home/wwwroot/xyz.com 那么上面 2 条代码,是不是我自己要修改一下把 www 都去掉? 我大概可以肯定第二条是必须要修改的,因为我的情况,服务器里就没有带 www 的文件夹 但是第一条我不太确定,是不是要把域名上的 www 去掉, 请老师指点一下。

    5年前 (2017-10-15)回复
  20. #0

    该评论为私密评论

    5年前 (2017-10-11)回复
    • @Penny 该评论为私密评论

      5年前 (2017-10-11)回复
  21. #0

    写的真不错,谢谢分享。

    5年前 (2017-10-10)回复
  22. #0
    Carlos

    料神,你好。 我在安装 https 的时候老是碰到下面的问题, 最初以为是服务器的问题,但在 Linode, Vultr 服务器都是同样的结果。 域名方面 xxx.com 做了 301 到 http://www.xxx.com IMPORTANT NOTES: – The following errors were reported by the server: Domain: XXX.com Type: connection Detail: Timeout To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. Additionally, please check that your computer has a publicly routable IP address and that no firewalls are preventing the server from communicating with the client. If you’re using the webroot plugin, you should also verify that you are serving files from the webroot path you provided. – Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal.

    5年前 (2017-09-22)回复
  23. #0
    Leon

    Sam 哥, 我有 5 个网站, 在安装多个 SSL 证书之后, 出现了一个问题. 也就是只有一个网站可以正常访问. 无论访问其他 4 个网站中的哪一个, 浏览器都会提示不安全. 说证书只适用于某一个域名. 如果点击继续, 就会跳转到那个域名. 操作的时候也是按照您说的那种法法,获取证书以后, 也对 domain.conf 那个文件进行了分别配置. 问 linode 客服, 不同的客服人员竟然不同的说法. 其中一个说同一个 ip 地址不可以给不同域名配置不同的 ssl 证书. 只能配置一个; 另外一个说可以. 因为 SNI 协议的支持, 可以支持在同一个 IP 配置不同的 ssl 证书. 现在我把证书都删除了, 就剩了一个主要的网站的证书. 其他暂时保留了 http. 因为还没有找到解决方案. 不知道您有没有碰到过这样的情况?

    5年前 (2017-09-16)回复
    • Brent

      @Leon 我也遇到这个问题,不知您解决了吗?

      5年前 (2017-10-24)回复
      • xjhwa

        @Brent 还没有解决。搜了很多,不过由于没有一些基本的网络技能,不敢把所有的方法都尝试一下。正在一点一点学习相关的知识,哪天通了再尝试。

        5年前 (2017-10-24)回复
        • Brent

          @xjhwa 谢谢您的回复.我也还在寻找问题的解决方案.

          5年前 (2017-10-24)回复
    • paul

      @Leon @Leon 我也遇到了同样的问题。所有其他网站的证书都用了其中一个网站的证书,导致其他所有网站的证书都不正常,只有一个网站的证书正常,不知道你找到解决问题的方法了吗

      5年前 (2017-12-08)回复
  24. #0
    Kevin

    Sam, 有个问题请教下。 我在 LINODE VPS ,自己的域名上部署好了 letsencrypt 的SSL, 但是后来换服务器了,换到RAKSMART了,所有域名也重新指向到新VPS, 现在SSL 不知道怎么弄了,原来的网址是带HTTPS的,现在新装也装不上,SSL也不能申请了,不知道怎么弄了。

    5年前 (2017-09-10)回复
  25. #0
    Carlos

     料神,每次运行到第二步的时候就出错,域名是 A 记录 www 是绑定到这个空间的 IP 地址,A 记录@是通过 301 永久跳转,请有时间时帮忙指点。 To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. Additionally, please check that your computer has a publicly routable IP address and that no firewalls are preventing the server from communicating with the client. If you’re using the webroot plugin, you should also verify that you are serving files from the webroot path you provided.

    5年前 (2017-09-04)回复
  26. #0

    料大,我续期证书的时候不能自动续期,手动续期的时候出现 Problem binding to port 443: Could not bind to IPv4 or IPv6 是什么原因,续不了期,求助

    5年前 (2017-09-01)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @maggie 因为你当前网站用着 https 占用着 443 端口,手动续期的时候需要释放 443 端口,所以你需要先把 nginx 停用。 执行命令:service nginx stop 如果一切 OK,就继续执行手动续期证书的命令。 如果出现如下的问题,如截图所示: 那么就要从进程里把 nginx 强制关闭。执行命令查看 nginx 的 PID: ps aux |grep nginx 可以看到类似于如下截图中的进程信息: 图中有三个 PID:28576 28579 29928 于是执行命令:kill -9 28576 28579 29928 然后再执行命令:service nginx stop 即可执行续期命令。
      5年前 (2017-09-02)回复
      • maggie

        @Liaosam 谢谢,我试试

        5年前 (2017-09-02)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @maggie 不客气,更新了评论里的截图。
          5年前 (2017-09-02)回复
          • maggie

            @Liaosam 还是没学会,最后找土豆帮弄了

            5年前 (2017-09-02)回复
  27. #0

    该评论为私密评论

    5年前 (2017-08-03)回复
  28. #0

    该评论为私密评论

    5年前 (2017-08-03)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @涛声依旧在 注意看你复制上来的第三行,目录名写的不对。letsencryp,少个 t。
      5年前 (2017-08-03)回复
      • @Liaosam 该评论为私密评论

        5年前 (2017-08-03)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @涛声依旧在 没毛病,倒数第二行就有 4 个秘钥。仔细看一下。
          5年前 (2017-08-03)回复
  29. #0
    Brent

    请教 SAM 老师,我在同一个 IP 下的 VPS 安装证书,第一个网站完美有小绿锁. 访问正常. 按照教程安装第二个的时候也 OK 了, 问题是,第一个不能访问了. chrome 提醒您的连接不是私密连接,https 不能访问了,不知应该如何处理?谢谢.

    5年前 (2017-07-22)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @Brent 抱歉,才看到你的问题,问题描述得太泛,不知道细节,很难回答怎么解决。希望你已解决!
      5年前 (2017-08-03)回复
  30. #0
    anne

    该评论为私密评论

    5年前 (2017-06-14)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @anne 该评论为私密评论
      5年前 (2017-06-14)回复
      • anne

        @Liaosam 该评论为私密评论

        5年前 (2017-06-14)回复
        • 料神Sam
          LiaoSam,外贸综合症患者。
          @anne OK 了。出错的原因是 nginx http://www.xyz.com.conf 配置文件里证书的路径是: /etc/letsencrypt/live/www.xyz.com/fullchain.pem,而实际证书在 XFTP 中可以看到 /etc/letsencrypt/live/下的文件夹目录名是 xyz.com,不是 http://www.xyz.com,因此把配置文件里的 www. 去掉重启了 nginx 就可以了。
          5年前 (2017-06-14)回复
          • anne

            @LiaoSam 该评论为私密评论

            5年前 (2017-06-14)回复
            • 料神Sam
              Liaosam,外贸综合症患者。
              @anne 该评论为私密评论
              5年前 (2017-06-14)回复
              • anne

                @Liaosam 该评论为私密评论

                5年前 (2017-06-14)回复
                • 料神Sam
                  Liaosam,外贸综合症患者。
                  @anne 只是更名了,不需要重新下载安装。没有什么影响的。
                  5年前 (2017-06-14)回复
                • anne

                  @anne 该评论为私密评论

                  5年前 (2017-06-14)回复
  31. #0
    zzu

    请教一下,如果把网站改为 https 的话,会不会对已经收录的页面产生负面影响呢,毕竟网址从 http://***.com 变成了 https://***.com , 从而影响 google 的权重排名呢

    5年前 (2017-06-12)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @zzu 这个问题 SEOMOZ 的创始人 Rand 曾专门写过一篇文章说明:短期会有影响,排名会有所下滑。但如果能坚持更新和优化,6 个月内排名会恢复并且较之以前有所提升。
      5年前 (2017-06-12)回复
  32. #0
    Jeff

    该评论为私密评论

    5年前 (2017-06-10)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @Jeff 该评论为私密评论
      5年前 (2017-06-14)回复
  33. #0
    Coo

    料神,请问一下,安装完毕后,前台访问没有问题,但是访问后台就显示重定向的次数过多,一直没办法登陆. 并且输入 service nginx restart 的时候,显示如下: Stoping nginx… nginx: [emerg] BIO_new_file(“/etc/letsencrypt/live/www.xyz.com/fullchain.pem”) failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/etc/letsencrypt/live/www.xyz.com/fullchain.pem’,’r’) error:2006D080:BIO routines:BIO_new_file:no such file) failed. Use force-quit Starting nginx… nginx (pid 32361 32360) already running. 请问料神,现在该怎么办呢,已经折腾了一天了,都还没折腾出来,拜托料大了.

    5年前 (2017-06-06)回复
    • alexchen88

      @Coo 遇到同样的问题,把网站配置文件中/etc/letsencrypt/live/www.xyz.com/ 的 www 去掉, 再 service nginx restart 即可

      5年前 (2017-06-08)回复
  34. #0
    winnings

    料神,安装 Velvet Blues Update URLs 弹出 Connection Information,要求输入 Host Name 和 FTP 账号密码,怎么办啊?我当时选装的是 CentOS7。

    5年前 (2017-05-26)回复
    • winnings

      @winnings 已经搞定了,我跳过了一个步骤。谢谢!

      5年前 (2017-05-26)回复
  35. #0
    Leo2514

    大神,你修改网站配置文件 里面的目录好像搞错了。 因为 xyz.com 是主域名,所以应该是这样 root /home/wwwroot/xyz.com。 你上面写的是 root /home/wwwroot/www.xyz.com, 不知道我对不对?

    5年前 (2017-05-23)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @Leo2514 这里跟主域名还是子域名没什么关系。root /home/wwwroot/www.xyz.com 这个 http://www.xyz.com 是网站文件的目录,并不是什么主域名。 看来你没明白创建网站 (vhost) 的流程以及配置文件 root 的含义。 创建 vhost 的时候(lnmp vhost add),会让你你填写网站域名,一般很多人习惯用 http://www.xyz.com 的域名,脚本会同时创建同域名的网站文件目录,文件夹名为 http://www.xyz.com,位置为:/home/wwwroot/www.xyz.com。并且会问你是否还要添加其他域名,这时一般再添加主域名 xyz.com。 如果你偏向于网站域名不带 www,那么流程就反过来,你填写主域名,让你补充时你再填写 www 域名,这时配置文件里定义网站文件的路径就不带 www。
      5年前 (2017-05-23)回复
      • Leo2514

        @Liaosam OK,明白了。

        5年前 (2017-05-23)回复
      • Leo2514

        @Liaosam 对了,大神我这种刚刚安装 wordpress 还没有开始使用主题 和完善内容的网站,是不是要暂时性 禁止蜘蛛抓取?

        5年前 (2017-05-23)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @Leo2514 暂时禁止蜘蛛抓取,等网站内容丰富起来再开放。如果是博客类、文章站,一般都是等至少有了十篇左右一定质量的文章时才开发给蜘蛛抓取。
          5年前 (2017-05-23)回复
  36. #0
    Sophia

    请教料神,在第二步的时候遇到下面这个 error,该如何处理啊? IMPORTANT NOTES: – The following errors were reported by the server: Domain: example.com Type: malformed Detail: No available addresses for getTLSSNICerts to dial To fix these errors, please make sure that you did not provide any invalid information to the client, and try running Certbot again.

    5年前 (2017-05-23)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @Sophia 该域名必须解析到当前的 VPS 的 IP 上(证书程序要验证域名所有权),否则可能会有这类的错误。
      5年前 (2017-05-23)回复
      • Sophia

        @Liaosam 域名是在 bluehost 上面买的,已经解析到 linode 上了,不知道有什么办法可以验证是否解析正确?

        5年前 (2017-05-23)回复
  37. #0
    yangyang

    请教料神老师, 运行第二步的时候,出现以下错误,该如何更正错误啊 Failed authorization procedure. mydomain.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: DNS problem: SERVFAIL looking up A for mydomain.com IMPORTANT NOTES: – The following errors were reported by the server: Domain: mydomain.com Type: connection Detail: DNS problem: SERVFAIL looking up A for mydomain.com To fix these errors, please make sure that your domain name was entered correctly and the DNS A record(s) for that domain contain(s) the right IP address. Additionally, please check that your computer has a publicly routable IP address and that no firewalls are preventing the server from communicating with the client. If you’re using the webroot plugin, you should also verify that you are serving files from the webroot path you provided.

    5年前 (2017-05-18)回复
    • 猫咪

      @yangyang 同遇到该问题,还在纠结中。 请问你解决了吗? :grin:

      5年前 (2017-06-09)回复
      • @猫咪 遇到同样问题,你解决了吗

        5年前 (2017-08-26)回复
      • Carlos

        @猫咪 该评论为私密评论

        5年前 (2017-09-22)回复
    • @yangyang 遇到同样问题,你解决了吗

      5年前 (2017-08-26)回复
  38. #0
    vychannel

    该评论为私密评论

    5年前 (2017-04-20)回复
  39. #0

    该评论为私密评论

    5年前 (2017-04-18)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @蒋明 不知道你那边具体什么情况,所以无法分析出来原因。我觉得提问之前要换位思考一下,花半分钟写的笼统的提问,不能期待别人花半小时耐心地问你版本和操作步骤,模拟出你的环境来帮你分析解决。
      5年前 (2017-04-18)回复
      • @Liaosam 该评论为私密评论

        5年前 (2017-04-20)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @蒋明 该评论为私密评论
          5年前 (2017-04-20)回复
          • @Liaosam 好的,我知道了。谢谢你料神老师

            5年前 (2017-04-20)回复
  40. #0
    mrshu

    该评论为私密评论

    5年前 (2017-04-07)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @mrshu 这并不能说明无效吧?看提示文字是说已经有 let’s encrypt 的文件目录了。
      5年前 (2017-04-18)回复
  41. #0
    风声

    let’s encrypt 已经有简化版本的更新 bash, 楼主记得更新 corn 对应的脚本了.

    5年前 (2017-03-21)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @风声 谢谢提醒!我已自己写了 cron 命令,更新过了。
      5年前 (2017-04-18)回复
  42. #0
    James

    料神,首先,感谢您,让我这个小白能弄明白 ssl 证书,我的第一个站非常完美的实现了小绿锁,非常感谢。 请教您一下,在我按照您的方法部署第二个站的时候,最后跳转 https 域名.com 后出现了 404 Not Found nginx 网站就打不开了。我不知道这个怎么解决,对了,我是在 linode 的 5 美元 vps 上建的两个 wordpress 站。第一个没有任何问题,第二个全部署完后就 404 Not Found nginx 了。求料神帮助。

    5年前 (2017-02-17)回复
    • james

      @James 三、在代码中 index index.html index.htm index.php default.html default.htm default.php; server_name http://www.xyz.com xyz.com; root /home/wwwroot/www.xyz.com; (此处是网站文件夹名字,不一定是域名。) 虽然问题比较小白,但希望和我一样啥也不懂的人注意一下。

      5年前 (2017-02-19)回复
      • 料神Sam
        Liaosam,外贸综合症患者。
        @james 你之前在 WP 后台做过 http 替换 https 了吗?
        5年前 (2017-02-20)回复
    • neo

      @James 该评论为私密评论

      5年前 (2017-06-28)回复
  43. #0
    dave

    料神,请教下,运行到第二步时并没有弹出让输入 email,而是出现如下: sudo -H ./letsencrypt-auto certonly –standalone -d ***.com -d www.***.com Bootstrapping dependencies for RedHat-based OSes… yum is /usr/bin/yum Loaded plugins: fastestmirror, security Setting up Install Process Loading mirror speeds from cached hostfile * epel: mirrors.xmission.com Package gcc-4.4.7-17.el6.x86_64 already installed and latest version Package dialog-1.1-9.20080819.1.el6.x86_64 already installed and latest version Package augeas-libs-1.0.0-10.el6.x86_64 already installed and latest version Package openssl-1.0.1e-48.el6_8.3.x86_64 already installed and latest version Package openssl-devel-1.0.1e-48.el6_8.3.x86_64 already installed and latest version Package libffi-devel-3.0.5-3.2.el6.x86_64 already installed and latest version Package redhat-rpm-config-9.0.3-51.el6.centos.noarch already installed and latest version Package ca-certificates-2015.2.6-65.0.1.el6_7.noarch already installed and latest version Package python-2.6.6-66.el6_8.x86_64 already installed and latest version Package python-devel-2.6.6-66.el6_8.x86_64 already installed and latest version Package python-virtualenv-1.10.1-1.el6.noarch already installed and latest version Package python-tools-2.6.6-66.el6_8.x86_64 already installed and latest version Package python-pip-7.1.0-1.el6.noarch already installed and latest version Nothing to do Creating virtual environment… Traceback (most recent call last): File “/usr/bin/virtualenv”, line 2, in import virtualenv ImportError: No module named virtualenv 请问是什么问题?

    6年前 (2017-01-09)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @dave 你安装的是 CentOs 哪个版本? CentOS 7?
      6年前 (2017-01-09)回复
      • dave

        @Liaosam Centos 6.8

        6年前 (2017-01-09)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @dave 可能 python 的问题。你可以参考这两篇文章: No module named virtualenv: https://www.a8z8.com/html/2016/tech_0707/507.html https://www.a8z8.com/html/2016/tech_0707/506.html
          6年前 (2017-01-09)回复
  44. #0
    helloworld678

    料神,为第二个网站安装 SSL,还需要重新下载和安装证书吗?还是从“创建并部署 Let’s Encrypt SSL 证书”这一步开始呢?

    6年前 (2017-01-07)回复
    • 料神Sam
      LiaoSam,外贸综合症患者。
      @helloworld678 不需要重新下载,从第二步创建并部署 Let’s Encrypt SSL 证书开始就可以了。多网站安装证书,证书会自动进行域名所属识别并且创建时会按不同域名存放在不同的目录下。
      6年前 (2017-01-07)回复
      • helloworld678

        @LiaoSam Sam,我没有建 shadowshocks,但是出现了以下内容: Port 443 is already in use by another process. This will prevent us from binding to that port. Please stop the process that is populating the port in question and try again. Saving debug log to /var/log/letsencrypt/letsencrypt.log Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org Obtaining a new certificate Performing the following challenges: tls-sni-01 challenge for xxx.com tls-sni-01 challenge for http://www.xxx.com Cleaning up challenges

        6年前 (2017-01-07)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @helloworld678 你是两个网站都在一个 VPS 上吧?因为你第一个网站开启了 SSL 占用了 443 端口。解决的办法有两个: 1)先把第一个网站的配置文件 .conf 改回去之前的配置,把关于 443 端口侦听和 SSL 之类的配置删除,用系统之前默认的配置。然后重启 nginx 和 lnmp 再重新执行证书安装。 2)强行 kill 443 进程。执行 netstat -apn 命令: 查看当前占用 443 端口的 nginx 的进程 PID。看顶部最上面一行右上角,有个 PID/Program name 然后找到 443 端口 nginx 的进程数字,如 23220/nginx 此时执行:kill -9 23220,回车。 然后重启 nginx:service nginx restart
          6年前 (2017-01-07)回复
          • helloworld678

            @Liaosam 该评论为私密评论

            6年前 (2017-01-08)回复
          • Steven

            @Liaosam 该评论为私密评论

            6年前 (2017-01-10)回复
            • 料神Sam
              Liaosam,外贸综合症患者。
              @Steven 更新了一下文章,建议再看看。
              6年前 (2017-01-19)回复
  45. #0
    Brent

    谢谢 sam,在您的这篇文章的指导下,一步步成功了。 另外提醒一下以后的同学,若是遇到下面的这个问题,可以关闭防火墙就可以了。 Failed to connect to XXX.XXX.XXX.XXX:443 for TLS-SNI-01 challenge 另外报告一下:我到第三部结束之后,就看到小锁了。

    6年前 (2017-01-05)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @Brent 不客气。怎么还有防火墙?你用的什么 VPS?
      6年前 (2017-01-08)回复
      • Brent

        @Liaosam 我用的是 CentOS 6

        6年前 (2017-01-09)回复
      • Brent

        @Liaosam vultr

        6年前 (2017-01-09)回复
        • 料神Sam
          Liaosam,外贸综合症患者。
          @Brent Vultr 有个问题,5 美金方案的内存才 768MB,10 美金的内存也才 1G,而 Linode 10 美金 2G 内存。你如果要用 avada 那种特别吃内存的 WP 主题,那么 vultr 不如 linode.
          6年前 (2017-01-12)回复
          • Brent

            @Liaosam 感谢料神回复,我现在用 vultr,若是改用 linode,SSL 证书是不是要重新安装一遍呀?

            6年前 (2017-01-13)回复
            • 料神Sam
              Liaosam,外贸综合症患者。
              @Brent 是的。安装证书的时候会验证域名所有权,所以你改用 linode 之后,你的 vps 服务器 IP 就变了。所以你需要重新做 A 记录解析,成功后再去安装证书,证书安装过程中会验证域名是否解析在当前 vps 服务器的 IP 上。你重新做过了解析就会顺利安装。
              6年前 (2017-01-13)回复
  46. #0
    ve

    SSL 后 http 改成了 HTTP, webmaster 和 GA、adwords 应该怎么处理网址的问题?

    6年前 (2017-01-01)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @ve 没有什么影响。http 做了重定向了,蜘蛛也会爬 https 的。其他的能修改就修改下,改不了也不要紧。
      6年前 (2017-01-01)回复
  47. #0

    HTTPS 今年确实火了

    6年前 (2016-12-28)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @刘荣焕 该评论为私密评论
      6年前 (2017-01-19)回复
  48. #0

    该评论为私密评论

    6年前 (2016-12-27)回复
  49. #0
    Jack

    今天刚买了 3 年 BH 空间就碰到 SSL 这个问题,$15.61/月确实贵了点,看来只有 HTTP 先用着,3 年后确实有必要再转到 Linode。SAM,这样可以吗?毕竟就是一个 B2B 网站,像我们这种内容不多的站做 GG 自然排名也很难做到前几页的。

    6年前 (2016-12-26)回复
  50. #0

    新鲜出炉的呢! 部署完成后记得去 https://www.ssllabs.com/ssltest/ 测试下~~

    6年前 (2016-12-24)回复
    • 料神Sam
      Liaosam,外贸综合症患者。
      @homu 谢谢测试地址!已更到文章里:)
      6年前 (2016-12-24)回复