上一篇介绍了如何在Mac下搭建本地HTTP服务器Mac下搭建HTTP访问的apache服务器.这篇做个扩充,介绍一下在Mac下搭建HTTPS服务器.
1.创建私钥
在桌面创建一个文件夹,名字随意.该文件夹用来存放私钥证书的文件.
然后打开终端,在此路径下执行如下终端命令.
/// 生成openssl格式的2048位 rsa秘钥.
openssl genrsa -out server.key 2048
2.生成自签名证书
/// req:请求证书
/// -sha256:sha256算法
/// -x509输出证书
/// -days 36500:证书有效期(懒得一直签名,直接搞久点)
openssl req -new -sha256 -x509 -days 36500 -key server.key -out server.crt
3.配置apache服务器SSL
3.1.将证书放入apache服务器目录下
将文件夹内生成的两个文件:server.crt
与server.key
/private/etc/apache2
3.2.修改apache配置文件
下面的修改内容在此文件中:/private/etc/apache2/httpd.conf
3.2.1.去掉ssl_module
的注释
搜索
ssl_module
,并去掉该行注释.
LoadModule ssl_module libexec/apache2/mod_ssl.so
3.2.2.去掉httpd-vhosts.conf
的注释
搜索
httpd-vhosts.conf
,并去掉该行注释.
Include /private/etc/apache2/extra/httpd-vhosts.conf
3.2.3.去掉httpd-ssl.conf
的注释
搜索
httpd-ssl.conf
,并去掉该行注释.
Include /private/etc/apache2/extra/httpd-ssl.conf
3.2.4.去掉socache_shmcb_module
的注释
搜索
socache_shmcb_module
,并去掉该行注释.
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
3.2.5.设置SSL的key
下面的修改内容在此文件中:/etc/apache2/extra/httpd-ssl.conf
搜索
SSLCertificateFile
.并去掉注释,还要注意一下配置的路径/文件名和上面3.1放入的路径/文件名是否一致.
SSLCertificateFile "/private/etc/apache2/server.crt"
搜索
SSLCertificateKeyFile
.并去掉注释,还要注意一下配置的路径/文件名和上面3.1放入的路径/文件名是否一致.
SSLCertificateKeyFile "/private/etc/apache2/server.key"
3.2.6.配置vhost.conf
下面修改的内容在此文件中/etc/apache2/extra/httpd-vhosts.conf
在文件的最底部增加:
<VirtualHost *:443>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /private/etc/apache2/server.crt
SSLCertificateKeyFile /private/etc/apache2/server.key
ServerName localhost
DocumentRoot "服务器本机路径"
</VirtualHost>
3.2.7.重启apache服务器
sudo apachectl restart
4.访问
想要二次进入不弹出警告可以直接去钥匙串把这个使用此证书时的限制改为始终信任