腾讯云服务器
腾讯云阿里云百度云域名绑定服务器
在对应云平台使用最高权限管理员添加域名绑定IP域名绑定SSL证书
本人是在腾讯云平台申请的 SSL证书,下载之后如图所示
CSR证书
有CSR必定有KEY,是成对的,CSR最终变成为证书,和私钥key配对使用。Key是以-----BEGIN RSA PRIVATE KEY-----开头的,-----END RSA PRIVATE KEY-----结尾的。Key必须保存好。需要认识一下 csr 证书(Certificate Signing Request,证书签名请求文件)。是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。
CSR 什么样
CSR是以-----BEGIN CERTIFICATE REQUEST-----开头,-----END CERTIFICATE REQUEST-----为结尾的base64格式的编码。将其保存为文本文件,就是所谓的CSR文件。
CSR 如何生成
在线生成工具
域名必须正确输入。密钥算法选择RSA的话,密钥长度需要2048bit以上;ECC则是256bit以上。摘要签名虽说目前可以任意,但建议是sha2-256以上。
设置 SSL 证书
tomcat 设置 ssl 证书(tomcat 配置 jks 格式证书)
1.导出 jks 证书到 tomcat/conf 文件夹下2.配置 tomcat 的 server.xml(2.1)修改端口为 80 ,重定向端口为 443 端口是SSL的专用端口。
<!-- 不配置 jks 证书 --><Connector port="8021" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><!-- 配置 jks 证书 --><Connector port="8021" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="443" />
(2.2)AJP/1.3 也要修改为 443
(2.3)设置证书
2.3.1 certificateKeystoreFile 使用的是那个证书
2.3.2 certificateKeystorePassword 申请证书时输入的密码
3.重启 tomcat 服务器
nginx 设置 ssl 证书
1.将nginx目录下的两个文件存放到 conf/ssl 文件夹中2.修改 nginx.conf 文件默认端口打开的是 80 端口,
http{#http节点中可以添加多个server节点server{# 监听443端口listen 443;# 对应的域名,把 改成你们自己的域名就可以了server_name ;ssl on;# 从腾讯云获取到的第一个文件的全路径ssl_certificate ./conf/ssl/_bundle.crt;# 从腾讯云获取到的第二个文件的全路径ssl_certificate_key ./conf/ssl/.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;}server{listen 80;server_name ;rewrite ^/(.*)$ :443/$1 permanent;}}
3.配置这个SSL证书需要引用nginx中的SSL这模块,需要将SSL模块编译。
// 重新添加SSL模块./configure --with-http_ssl_module
iis 设置 ssl 证书
由于本人没有目前iis服务,向大家介绍apache 设置 ssl 证书
1.开启 SSL服务,打开Apache/conf/httpd.conf,在httpd.conf文件中找到以下参数并进行配置,保存后退出。以.key结尾的文件(秘钥文件)
以.crt结尾的文件(xxxxx_bundle.crt是证书链文件,xxxxx.crt是证书文件)
# 1. 删除行首的配置语句注释符号“#”# 2. 加载 mod_ssl.so 模块启用SSL服务,Apache默认是不启用该模块的。如果找不到该配置,请重新编译mod_ssl模块。#LoadModule ssl_module modules/mod_ssl.so # 3.删除行首的配置语句注释符号“#”。#Include conf/extra/httpd-ssl.conf
2.打开Apache/conf/extra/httpd-ssl.conf,在httpd-ssl.conf文件中找到以下参数并进行配置。 证书路径建议使用绝对路径。
Listen 443SSLPassPhraseDialog builtin<VirtualHost _default_:443>DocumentRoot "C:\Program Files\api"ServerName ServerAlias ErrorLog "C:\Program Files\api\logs\websslapi-error.log"TransferLog "C:\Program Files\api\logs\websslapi-access.log"<Directory "C:\Program Files\api">Options FollowSymLinks ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire all granted</Directory>SSLEngine onSSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULLSSLCertificateFile "C:\phpstudy\Apache\conf\ssl\.crt"SSLCertificateKeyFile "C:\phpstudy\Apache\conf\ssl\.key"SSLCertificateChainFile "C:\phpstudy\Apache\conf\ssl\_ca_bundle.crt"SSLOptions +FakeBasicAuth +ExportCertData +StrictRequireBrowserMatch ".*MSIE.*" \nokeepalive ssl-unclean-shutdown \downgrade-1.0 force-response-1.0CustomLog "C:\Program Files\api\logs\ssl_request.log" \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"</VirtualHost>