windows下的Apache配置HTTPS和反向代理

我们需要在Apache上搭建https和反向代理。

版本选择Apache2.4,低版本可能会出现未知问题。
官方下载地址:
https://www.apachehaus.com/cgi-bin/download.plx
如果嫌慢,也可以用我上传到CSDN的资源地址:
https://download.csdn.net/download/fangfu123/10842326

下载zip的压缩包,解压后,放在指定的目录下,如D:\Apache24
添加到服务中:

D:\Apache24\bin\httpd.exe -k install -n apache2.4

进服务中,启动Apache服务。

SSL证书是可以自己给自己颁发的,但是这种证书会在页面中显示为不安全。只能在测试环境中使用。
工作环境中,还是需要主动申请一个SSL证书。
阿里云有免费的CA证书服务,也有详细的教程。这里就不写了。

在conf目录下新建cert目录,申请下来的证书放在cert目录,如下图:
windows下的Apache配置HTTPS和反向代理_第1张图片

编辑打开httpd.conf,找到如下行并去掉前面的#:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf

进入extra目录,将原来的httpd-ssl.conf备份成另外一个文件,新建httpd-ssl.conf文件,
文件内容如下:


       ServerName www.xxxx.com    # 绑定的域名
	SSLEngine on
	SSLProtocol all -SSLv2 -SSLv3
	SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
	SSLHonorCipherOrder on
	SSLCertificateFile "D:/Apache24/conf/cert/2_xxxx.cn.crt"   #对应的证书名字
       SSLCertificateKeyFile "D:/Apache24/conf/cert/3_xxxx.cn.key"  #对应的证书名字
	ProxyVia On
       ProxyRequests Off  
       ProxyPreserveHost On
	ProxyPass /web1 ws://127.0.0.1:8080    # web1反向代理至websocket的8000端口
	ProxyPassReverse /s0 ws://127.0.0.1:8080
       ProxyPass /web2 http://127.0.0.1   # web2反向代理至http的80端口
	ProxyPassReverse /web2 http://127.0.0.1

重启Apache服务。

你可能感兴趣的:(apache)