【三】Windows配置Apache https server 客户端、服务器端认证

前提:Windows上下载、安装 Apache https server

参考:Apache安装及配置ssl

没有需要通过指定域名访问Apache服务器的用户,可以直接跳过步骤一、二,直接从第三部分开始

一、配置Host文件(可省略
1.查看电脑的 IPv4 地址,如 192.168.128.164
2.打开 hosts 文件,路径:

c:\windows\system32\drivers\etc

3.在文档最后一行添加:

192.168.18.164 apache.com

在这里插入图片描述
4.这样本地浏览器就可以通过输入域名访问服务器啦:http://apache.com 等同于 http://192.168.128.164

二、配置虚拟主机的IP(可省略
1.配置httpd-ahssl.conf文件,路径:C:\Apache24\conf\extra
在这里插入图片描述
修改VirtualHost的第一个:

_default_可以修改为电脑的IP【电脑IP改变时,记得修改】
localhost 可以修改为apache.com
在这里插入图片描述

2.重新启动Apache服务器,通过指令:

cd C:\Apache24\bin
httpd.exe restart

或 ApacheMonitor.exe,路径:C:\Apache24\bin

在浏览器输入在浏览器上输入以下地址,访问Apache服务器:

https://apache.com
http://apache.com
http://192.168.128.164
https://192.168.128.164

三、生成CA根证书、公钥、私钥指令(数字证书)
1.将自己生成的服务器端证书server.crt、私钥server.key放在以下路径(默认放着Apache Haus的证书): C:\Apache24\conf\ssl

2.浏览器安装.fpx为后缀的客户端证书安装包(Apache开启SSLVerifyClient require 时需要验证该证书)

四、配置开启Apache HTTPS Server的认证
1.修改配置文件:C:\Apache24\conf\httpd.conf

httpd.conf找到以下配置并去掉注释 #,则可以在开启apache的时候启动ssl服务:

# 开启ssl模块配置,取消下面这句的注释
LoadModule ssl_module modules/mod_ssl.so

<IfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
#我采用的是httpd-ahssl.conf,添加如下
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

采用httpd-ahssl.conf还是httpd-ssl.conf根据服务器使用的配置文件选择,详情如下:

Apache安装及配置ssl
科普:httpd-ssl.conf 与httpd-ahssl.conf有什么不同? 根据命名可以看出 ahssl 是 Apache Haus 自带的ssl配置,其已经为我们生成好ssl私钥和证书文件,于conf/ssl目录下。
当然你可以不使用ahssl配置,而是修改使用ssl配置虚拟主机,自己去生成ssl服务器证书。

虚拟主机配置区别 Https协议使用443端口,使用httpd-ssl.conf或httpd-ahssl.conf配置虚拟主机
Http协议使用80端口,使用httpd-vhosts.conf配置虚拟主机
如果虚拟主机在2个端口均有配置
使用https访问时,使用httpd-ssl.conf或httpd-ahssl.conf配置;
使用http访问时,使用httpd-vhosts.conf配置

补充一些其他的模块
# 代理服务器模块
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
# 应用软件代理
LoadModule proxy_connect_module modules/mod_proxy_connect.so
# ftp服务器
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
# html
LoadModule proxy_html_module modules/mod_proxy_html.so
# http请求代理
LoadModule proxy_http_module modules/mod_proxy_http.so

2.在文件httpd-ahssl.conf 里做如下修改,路径: C:\Apache24\conf\extra

#监听443端口的虚拟主机, _default_ 是默认根目录,一般指访问localhost
<VirtualHost _default_:443>
  #开启SSL
  SSLEngine on
  #支持修改此处虚拟主机名,如将localhost修改为apache.xxx.com
  ServerName localhost:443
  # ssl证书文件
  # 用于客户端开启认证
  SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
  # ssl私钥文件
  # 用于客户端开启认证
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
  # 也可以放CA证书
  SSLCACertificateFile "${SRVROOT}/conf/ca/ca.crt"
  
  # Apache开启服务器端认证
  # 应用场景:浏览器HTTPS访问Apache服务器时,需要提供证书
  # 三、生成CA根证书、公钥、私钥指令(数字证书)  
  #  2.浏览器安装`.fpx为后缀`的客户端证书安装包
  SSLVerifyClient require 
  ProxyRequests On
  #此处为登录web时显示的本地文件目录
  DocumentRoot "${SRVROOT}/htdocs"
# DocumentRoot access handled globally in httpd.conf
	CustomLog "${SRVROOT}/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
	<Directory "${SRVROOT}/htdocs">
		Options Indexes Includes FollowSymLinks
		AllowOverride AuthConfig Limit FileInfo
		IndexOptions DescriptionWidth=256
    Require all granted
	</Directory>
</virtualhost>

3.重启服务器,通过浏览器HTTPS登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值