常见web服务器的SSL证书部署指导

发布时间:2017/10/20 10:52:45 打印 字号:

IIS 服务器 SSL 证书部署

IIS 服务器安装及配置

Note

本例以 Windows Server 2012 R2、IIS8.0 为例。

首先打开「服务管理器」,点击右上角的「管理」,选择「添加角色和功能」。

fa43415e7516eafd23af3564123a9f70.png

一直点击「下一步」,直到「服务器角色」一项。在中间的「角色」列表中点击「Web服务器(IIS)」,在弹出框里勾选「包括管理工具」然后点击「添加功能」,成功添加角色。

f362889f8ad359b26e69d7d007142b69.png

b8433d892eea6fc42d439bac51c8d1f4.png

3e7b7752c13f3e7e221ea3b7376bee07.png

点击「下一步」,进入「功能」项,勾选「.Net Framewore 3.5」(具体功能选择以用户实际需求为准)。

0a7885a98d3d2f7416a29dd77ec29a59.png

点击「下一步」,直到「角色服务」一项,在中间「角色服务」列表选择需要安装的项目,本例中只在默认的基础上勾选了「应用程序开发」,其他服务依需选择,也可以之后安装。

26ccb0472534742b733750a568ed458e.png

点击「下一步」进入「确认」一项,点击「安装」,待安装成功,点击「关闭」。

149eafb034f2857ae433af1732250225.png

IE 浏览器打开输入本机公网 IP,或者本机内网 IP,或 localhost,即可显示 IIS8.0 界面。

05e66d66d908aab5d96e7b5aac23e4d0.png

打开 Internet Information Services 管理器进行配置:

b8bb5743ec16b0adca487769ca7b3016.png

补充:若安装过程出现如下报错,则是 winrm 服务未启动,需要先配置。

3dfd06b6a678fc6fcf3aac11ff22f6c1.png

winrm 配置方法:以管理员身份启动 cmd,执行 winrm quickconfig 命令。

08e7cdc7122eb197f4fd2618da60a56f.png


SSL 证书的部署

获取 SSL 证书

下载申请或者购买的证书文件到本地并解压,其中 cert.pem 是服务端证书 ,fullchain.pem 是公钥,privkey.pem 是私钥。若无证可用证书,可以参考 申请 SSL 证书,或者 购买SSL证书 指南。

Gworg官方签发的证书,无需转换,可以直接跳过这一步,IIS是您的安装文件,密码:service.txt 文档中。

如果自己提交的CSR,只能自己转换成IIS证书!

QQ图片20181020110436.png


转换证书

IIS 导入的证书要求是 PFX 格式,网上有在线转换的工具,但是会上传你的私钥。安全起见,本例使用 OpenSSL命令转换。

Note

本例以 CentOS7.4 云服务器为例;

网易云云服务器默认安装了 OpenSSL,用户环境未安装的可以自行下载安装。

上传 pem 格式的证书文件

# lscert.pem  chain.pem  fullchain.pem  privkey.pem

查看 OpenSSL 版本

# openssl versionOpenSSL 1.0.2k-fips  26 Jan 2017

转换证书格式,其中 server.pfx 为转换的目标文件,privkey.pem 为私钥,fullchain.pem 为公钥。执行转换命令后需要设置密钥密码。

# openssl pkcs12 -export -out server.pfx -inkey privkey.pem -in fullchain.pemEnter Export Password:Verifying - Enter Export Password:

下载生成的 PFX 证书文件到本地。

——————————————————————


安装证书

上传证书到 IIS 服务器上,打开IIS管理器,双击「服务器证书」。

69722d048b1932eca55eb6f024b29293.png右边「操作」栏中单击「导入」,选择上传的PFX证书文件,输入之前转换证书时设置的密码。


Attention

因为PFX证书中包含私钥,不建议勾选「允许导出此证书」。

f9c3820be6f8a49a3892aff04bf33760.png

然后在网站的根目录下创建一个 index.html 文件,并写入测试代码。

<p>This is the test page.</p>

选择「网站」,点击「添加网站」,填写必要的参数,启动网站。


5ed9b0055accbdc41f6fb72ee0c494a9.png485dc1b66a8a1f230e9d644ed0060e47.png

浏览器输入域名进行访问测试,证书已经成功安装。

Attention

安全组策略确认 443 端口已经开放。


75ccfb7dcf67dabdf5da6ef2b8d55892.png

查看证书信息

QQ图片20181020110759.png


Nginx 服务器 SSL 证书部署

Nginx 服务器的安装及配置

Note

本例以网易云 CentOS7.4 云主机为测试环境。

YUM安装nginx

# yum install nginx -y# systemctl start nginx# nginx -vnginx version: nginx/1.12.2

Note

其他具体配置项依照用户实际需求自行配置。

SSL 证书的部署

把下载的证书上传到配置文件指向的目录,打开 nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到被注释掉的 server 配置,进行修改。

server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  www.iblogs.top;                                #证书绑定的网站域名
        root         /usr/share/nginx/html;
        ssl_certificate "/home/cert/iblogs/fullchain.pem";          #证书公钥
        ssl_certificate_key "/home/cert/iblogs/privkey.pem";        #证书私钥
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
        root html;
        index index.html index.html;
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

保存退出,并重新加载 nginx 配置

# nginx -s reload

浏览器输入域名进行访问测试,证书已经成功安装。

Attention

安全组策略确认 443 端口已经开放。

eb3c73ba15186776b8fceb85ff3f5177.png


Apache 服务器 SSL 证书部署

Apache 服务器的安装及配置

Note

本例以网易云 CentOS7.4 云主机为测试环境。

安装 Apache 和 ssl 模块,并启动 Apache

# yum install httpd -y# yum install mod_ssl -y# httpd -vServer version: Apache/2.4.6 (CentOS)Server built:   Jun 27 2018 13:48:59# systemctl start httpd

确认此时可以 http 访问。

SSL 证书的部署

Attention

安装完 mod_ssl 会创建一个默认的 SSL 证书,路径位于 /etc/pki/tls,我们要修改 ssl 配置文件,将默认证书替换成我们上传的证书。

把下载的证书上传到配置文件指向的目录,打开 ssl 配置文件,找到「VirtualHost」模块,将默认证书替换成自己上传的证书。

Note

SSL 配置文件默认路径:/etc/httpd/conf.d/ssl.conf;

本例使用默认的 VirtualHost 做测试。

<VirtualHost _default_:443>SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
SSLEngine on
SSLCertificateFile /home/cert/iblogs/cert.pem      #证书
SSLCertificateKeyFile /home/cert/iblogs/privkey.pem    #私钥
SSLCertificateChainFile /home/cert/iblogs/fullchain.pem  #公钥</VirtualHost>

重启 Apache

# systemctl restart httpd

浏览器输入域名进行访问测试,证书已经成功安装。

Attention

安全组策略确认 443 端口已经开放。

504c219fcf5322a3914dfa52b5585acb.png