2019-02-23

2019-02-23  本文已影响0人  锁阿姨

MAC 自签名数字证书配置https服务器

网上教程很多,这只是单纯记录我自己的配置过程
前提:apache http服务已经开启

1. 生成自签名ssl证书:

  1. 生成服务器私钥
    sudo mkdir /etc/apache2/ssl
    cd /etc/apache2/ssl
    sudo openssl genrsa -out server.key 1024
  2. 生成向ca请求的csr文件
    sudo openssl req -new -key server.key -out server.csr
    CommonName写服务器ip或者有域名写域名


  3. 生成CA私钥
    sudo openssl genrsa -out ca.key 1024
  4. 用CA的私钥产生自签名的CA证书,填的信息跟生成csr文件时保持一致
    sudo openssl req -new -x509 -days 365 -key ca.key -out ca.crt
  5. 生成服务器的crt文件
    创建demoCA
    demoCA里面创建文件index.txt和serial,serial内容为01,index.txt为空, 以及文件夹newcerts
    sudo openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key


    image.png

    这时,需要证书都已经生成了:


    image.png

2. 配置https服务器

  1. 编辑/etc/apache2/httpd.conf,放开下面几行:
    LoadModule ssl_module libexec/apache2/mod_ssl.so
    Include /private/etc/apache2/extra/httpd-ssl.conf
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so

  2. 编辑etc/apache2/extra/httpd-ssl.conf, 编辑之前最好备份一下,修改DocumentRoot 和ServerName,以及检查server.crt和server.key的路径是否正确


    image.png
  3. 编辑etc/apache2/extra/httpd-vhosts.conf,同样先备份,添加下面部分


    image.png

3. 检查配置,重启apache

sudo apachectl configtest
sudo apachectl restart

整个apache的https配置就完成了,如果想https和http同时使用,只需要在/etc/apache2/extra/httpd-vhost.conf中在配一个80端口的虚拟网址就可以了

上一篇下一篇

猜你喜欢

热点阅读