您的位置:首页 > 理论基础 > 计算机网络

Apache 开启Https双向认证

2017-12-04 21:42 716 查看
一 服务器配置

1,放置证书

cd /etc/ssl/

sudo mkdir cacerts

在cacerts目录下放入这三个文件

root.crt chain.crt key.crt

2,开启https站点

cd /etc/apache2/sites-enabled/

sudo ln -s ../sites-available/default-ssl.conf ./

3,加载对应的apache2模块

cd /etc/apache2/mods-enabled/

sudo ln -s ../mods-available/ssl.conf ./

sudo ln -s ../mods-available/ssl.load ./

sudo ln -s ../mods-available/socache_shmcb.load ./

4,修改ssl配置文件

sudo vim /etc/apache2/sites-enabled/default-ssl.conf

做如下修改:

SSLCertificateFile      /etc/ssl/whiteskycn/chain.crt
SSLCertificateKeyFile /etc/ssl/whiteskycn/key.crt

SSLCACertificateFile /etc/ssl/whiteskycn/root.crt

SSLVerifyClient require
SSLVerifyDepth  10

#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire


5,重启apache2服务

sudo service apache2 restart

根据提示输入Server证书密码

二 client端配置

1,postman中配置client端证书:

setting—General 关闭SSL certificate verification选项

setting—Certiticates 做如下配置

Client Certificates

Add Certificate

Host

YOUR IP

Remove

CRT file

/home/lei/client_chain.crt

Key file

/home/lei/client.key

Passphrase

YOUR PWD

三, 使用

1,做完上述配置,client即可用https://xxx来访问api服务

2,服务端在处理请求的函数中,用 $_SERVER[‘SSL_CLIENT_S_DN_CN’] 获得client的MAC地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: