为自己的服务器设置域名以及SSL证书

腾讯云服务器

  • 腾讯云
  • 阿里云
  • 百度云

域名绑定服务器

  • 在对应云平台使用最高权限管理员添加域名绑定IP

域名绑定SSL证书

本人是在腾讯云平台申请的 SSL证书,下载之后如图所示

为自己的服务器设置域名以及SSL证书_第1张图片

CSR证书

需要认识一下 csr 证书(Certificate Signing Request,证书签名请求文件)。是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。

  • 有CSR必定有KEY,是成对的,CSR最终变成为证书,和私钥key配对使用。Key是以-----BEGIN RSA PRIVATE KEY-----开头的,-----END RSA PRIVATE KEY-----结尾的。Key必须保存好。
CSR 什么样

CSR是以-----BEGIN CERTIFICATE REQUEST-----开头,-----END CERTIFICATE REQUEST-----为结尾的base64格式的编码。将其保存为文本文件,就是所谓的CSR文件。
为自己的服务器设置域名以及SSL证书_第2张图片

CSR 如何生成

在线生成工具

  1. 域名必须正确输入。
  2. 密钥算法选择RSA的话,密钥长度需要2048bit以上;ECC则是256bit以上。
  3. 摘要签名虽说目前可以任意,但建议是sha2-256以上。
设置 SSL 证书
tomcat 设置 ssl 证书(tomcat 配置 jks 格式证书)
  • 1.导出 jks 证书到 tomcat/conf 文件夹下
  • 2.配置 tomcat 的 server.xml

(2.1)修改端口为 80 ,重定向端口为 443 端口是SSL的专用端口。
为自己的服务器设置域名以及SSL证书_第3张图片

    
    
    
    

(2.2)AJP/1.3 也要修改为 443
在这里插入图片描述
(2.3)设置证书

2.3.1 certificateKeystoreFile 使用的是那个证书
2.3.2 certificateKeystorePassword 申请证书时输入的密码

为自己的服务器设置域名以及SSL证书_第4张图片
为自己的服务器设置域名以及SSL证书_第5张图片

  • 3.重启 tomcat 服务器
nginx 设置 ssl 证书
  • 1.将nginx目录下的两个文件存放到 conf/ssl 文件夹中
  • 2.修改 nginx.conf 文件
    默认端口打开的是 80 端口,
http{
    #http节点中可以添加多个server节点
    server{
        # 监听443端口
        listen 443;
        # 对应的域名,把 systemchao.cn 改成你们自己的域名就可以了
        server_name systemchao.cn;
        ssl on;
        # 从腾讯云获取到的第一个文件的全路径
        ssl_certificate ./conf/ssl/1_systemchao.cn_bundle.crt;
        # 从腾讯云获取到的第二个文件的全路径
        ssl_certificate_key ./conf/ssl/2_systemchao.cn.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 systemchao.cn;
        rewrite ^/(.*)$ https://systemchao.cn:443/$1 permanent;
    }
}
  • 3.配置这个SSL证书需要引用nginx中的SSL这模块,需要将SSL模块编译。
// 重新添加SSL模块

./configure --with-http_ssl_module
iis 设置 ssl 证书
  • 由于本人没有目前iis服务,向大家介绍
apache 设置 ssl 证书

为自己的服务器设置域名以及SSL证书_第6张图片

以.key结尾的文件(秘钥文件)
以.crt结尾的文件(xxxxx_bundle.crt是证书链文件,xxxxx.crt是证书文件)

  • 1.开启 SSL服务,打开Apache/conf/httpd.conf,在httpd.conf文件中找到以下参数并进行配置,保存后退出。
# 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 443
SSLPassPhraseDialog  builtin
    DocumentRoot "C:\Program Files\api"
    ServerName api.test.com
    ServerAlias api.test.com
    ErrorLog "C:\Program Files\api\logs\websslapi-error.log"
    TransferLog "C:\Program Files\api\logs\websslapi-access.log"
  
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile "C:\phpstudy\Apache\conf\ssl\api.test.com.crt"
    SSLCertificateKeyFile "C:\phpstudy\Apache\conf\ssl\api.test.com.key"
    SSLCertificateChainFile "C:\phpstudy\Apache\conf\ssl\api.test.com_ca_bundle.crt"
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "C:\Program Files\api\logs\ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

你可能感兴趣的:(为自己的服务器设置域名以及SSL证书)