折腾一晚上了,全站启用https

写在最前面,本文部分内容摘录自: 秋水逸冰【LAMP下SSL设置教程】 (一位牛人的博客,一位文青/或者大叔,写了各种一键脚本,他的博客给了我很多帮助,表示感谢)

服务器配置环境:LAMP(centos7.1 + apcahe2.4)

1、使用 OpenSSL 生成证书请求CSR文件
      安装OpenSSL: yum install -y openssl openssl-devel
      执行命令: openssl req -new -nodes -newkey rsa:2048 -sha256 -keyout server.pem -out server.csr
      中间按提示填写以下内容
       Country Name (2 letter code) [XX]:CN 
// 国家代码
       State or Province Name (full name) []:XXXX 
// 省
       Locality Name (eg, city) [Default City]:XXXX 
// 市
       Organization Name (eg, company) [Default Company Ltd]:Teddysun 
// 组织或公司名(随便填)
       Organizational Unit Name (eg, section) []: 
// 部门,可不填
       Common Name (eg, your name or your server's hostname) []:XXX.com 
// *则是通配符域名,一般证书发行会自带 www 子域名
       Email Address []:admin@XXX.com
// 邮箱地址(一定要有个域名邮箱,用以验证域名所有权)

2、申请证书:很多方法。。。
 一开始用的Let's Encrypt Client自动配置脚本certbot
 执行命令 certbot --apache certonly
【确保之前域名已经解析到主机ip】
 得到四个pem文件 cert.pem chain.pem fullchain.pem privkey.pem
 路径:/etc/letsencrypt/live/xxx.com
     cert.pem      --- 服务器证书文件(PEM编码的X.509证书)
     chain.pem     --- 服务器的CA证书链
     fullchain.pem --- 服务器证书文件(合并证书链)
     privkey.pem   --- 证书私匙文件
 下面用的一般是后两个文件
3、打开/usr/local/apache/conf/httpd.conf,找到下面一行
     Include conf/extra/httpd-ssl.conf
 将前面的 # 注释去掉,保存
 ps:检查这一行如果有注释,也去掉,不然后面执行service restart httpd重启apapche时报错“ 'shmcb' session cache not supported ”
     LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
4、修改配置文件 /usr/local/apache/conf/extra/httpd-ssl.conf,一般是
     DocumentRoot /data/www/default/ #改为对应的网站根目录
     SSLEngine on #SSL引擎开关,必须开
     SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5:!RC4
 #是加密套件,这里去除了一些不再安全的一些方式
     SSLCertificateFile fullchain.pem #是证书文件,指定具体路径
     SSLCertificateKeyFile privkey.pem #是证书的私钥文件,指定具体路径
     SSLProtocol All -SSLv2 -SSLv3 #指定ssl连接方式,这里去掉SSLv2和SSLv3,这两种已不安全
 #路径DocumentRoot与一致
     Options -Indexes +FollowSymLinks
     AllowOverride All #添加这两行
     Require all granted
很多不明白的,出错多次,纠结了很久,网上另外找了不少文档
 ps:配置项可以参考配置手册 apache2.2版的(中文的,跟2.4版的没大区别,能参照)
5、保存配置文件,确认防火墙允许443端口,执行service restart httpd,重启apcahe,报错的话检查错误提示,上面有提
6、 Chrome 浏览器访问https网址,如果小绿锁没出现打叉,别着急,检查上述步骤有没漏错,或者出现白色的小锁,可能网站主页里含http开头的内部链接(是内部链接吧?),chrome按F12打开控制台security选项卡可以看到有关不安全资源,网站文件代码模式将内容修改成https就行了
bingo!夜里神游...边写边回顾,两点了,明天上班怎么办啊...
追加:格式没调,好丑,改天在来一大碗markdown...

关于icod

logging,无人问津,孤岛余生
此条目发表在Bingo分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据