双向认证第一步:Mac OS X中Apache开启ssl

本文详细介绍如何在Apache服务器上生成自签名SSL证书,并完成相应的配置步骤,包括创建CA文件夹、生成证书文件及私钥、修改Apache配置文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,首先切换到apache2目录下,创建一个CA文件夹

cd /private/etc/apache2/

sudo mkdir CA

sudo chmod 777 CA

二,然后进去CA文件夹

cd CA

三,创建其它文件

mkdir demoCA

mkdir demoCA/newcerts

mkdir demoCA/private

touch demoCA/index.txt

echo “01” >> demoCA/serial

四,输入“openssl genrsa -out server.key 2048”,生成网站服务器公钥文件server.key。

输入openssl req -new -out server.csr -key server.key (Common Name为要申请域名证书的域名)

Country Name (2 letter code) [AU]:CN[这里是国家,CN中国]

State or Province Name (full name) [Some-State]:hangzhou[这里是省份,城市]

Locality Name (eg, city) []:hangzhou[这里是城市]

Organization Name (eg, company) [Internet Widgits Pty Ltd]:hz ltd[这里是公司]

Organizational Unit Name (eg, section) []:rh[这里是组织名称]

Common Name (e.g. server FQDN or YOUR name) []:www.zhuangzhuangyong.com[这个必须填正确,是你的服务器的域名,或者ip]

Email Address []:m13918838204@163.com[这里是我的邮箱]

输入openssl req -new -out server.csr -key server.key -out server.csr -subj

输入“openssl genrsa -out ca.key 2048”,生成CA私钥文件ca.key。

输入“openssl req -new -x509 -days 365 -key ca.key -out ca.crt ”,生成CA证书。

输入openssl req -new -x509 -days 365 -key ca.key -out ca.crt -subj

输入“openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key”,

之后会在bin目录下面看到多了一个server.crt文件,

这就是签名以后的服务器证书。

五,生成 client.key

输入openssl genrsa -out client.key 2048

生成客户证书 client.crt

输入openssl req -new -key client.key -out client.csr

输入openssl req -new -key client.key -out client.csr -subj

将client.crt转换为 .pfx 格式的证书

输入openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt

将client.crt转换为 .pfx 格式的证书

输入openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

这里写图片描述

到这里,自签名证书就生成好了,下面就开始配置Apache

六、 备份文件,以防不测,只需要执行一次就可以了

sudo cp httpd.conf httpd.conf.bak

sudo cp httpd-ssl.conf httpd-ssl.conf.bak

sudo cp httpd-vhosts.conf httpd-vhosts.conf.bak

// 提示:下面这行代码不要打,如果后续操作出现错误!才需要使用以下命令,恢复备份过的 httpd.conf 文件

sudo cp httpd.conf.bak httpd.conf

开始修改配置文件

/private/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

Mac 10.10 的 Apache 配置略微有一些不一样!

在 httpd.conf 中找到

加一个单词 Indexes,修改后的结果如下:

七、/private/etc/apache2/extra/httpd-ssl.conf ,编辑这个文件去掉下面三行前面的 ‘#’

SSLCertificateFile “/private/etc/apache2/CA/server.crt”

SSLCertificateKeyFile “/private/etc/apache2/CA/server.key”

SSLCACertificateFile “/private/etc/apache2/CA/ca.crt”

八、/private/etc/apache2/extra/httpd-vhosts.conf ,

编辑第二段

这里写图片描述

ServerAdmin webmaster@dummy-host2.example.com

DocumentRoot “/Library/WebServer/Documents”

ServerName www.zhuangzhuangyong.com

ErrorLog “/private/var/log/apache2/dummy-host2.example.com-error_log”

CustomLog “/private/var/log/apache2/dummy-host2.example.com-access_log” common

这里写图片描述

编辑这个文件在 ’ NameVirtualHost * :80’ 后面添加:

NameVirtualHost *:443

在文件末尾添加:

这里写图片描述

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /private/etc/apache2/CA/server.crt

SSLCertificateKeyFile /private/etc/apache2/CA/server.key

ServerName www.zhuangzhuangyong.com (备注;输入的创建时候的域名)

DocumentRoot “/Library/WebServer/Documents”

SSLCACertificateFile “/private/etc/apache2/CA/ca.crt”

SSLVerifyClient require

SSLVerifyDepth 10

这里写图片描述

九、进入/private/etc/hosts 添加

127.0.0.1 www.zhuangzhuangyong.com

到这里就配置完了,检查配置,没问题的话重启Apache就好了

sudo apachectl configtest

sudo apachectl -k restart 强制重启

双击server.crt

正常的话,就可以用https访问了。

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值