前言

  • Apache 2.4.39
  • phpStudy 8.1.1.2
  • tomcat 8.0 的项目
  • windows server 2003

准备

  1. httpd.conf 配置文件中加载 Http 反向代理用到的模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
  1. conf/vhosts 目录下添加名为 weixin.xxx.com.conf 配置文件(文件内容为空,后面再进行修改)。
    httpd.conf 配置文件中,有下面这段配置。该配置表示 conf/vhosts 目录下 .conf 后缀的配置文件会被加载。
# Virtual hosts
Include conf/vhosts/*.conf

Apache 配置 Https 的好处

在 Tomcat 中启用 Https也可以的(参考这里)。

服务器嘛,肯定是多个应用共用一台。多个应用共用一台服务器时,就会涉及到端口冲突。比如,你也想用443端口,我也想用443端口,怎么办呢?就需要 Apache 配置反向代理。

Apache 配置 Https 反向代理

(Apache 配置 Https 反向代理 和 Apache 配置 Http 反向代理是一样的)

  1. 启用 443 端口。在 conf/vhosts 目录下找到Listen.conf配置文件,在该配置文件添加443端口的监听(如下)。
Listen 80
Listen 443 https
  1. weixin.xxx.com.conf 配置文件中添加虚拟主机(VirtualHost)配置。(为啥是 weixin.xxx.com.conf 文件,参考准备步骤中的说明)
<VirtualHost *:443># server nameServerName weixin.xxx.com:443# SSLSSLEngine onSSLCertificateFile "${SRVROOT}/conf/ssl/weixin.xxx.com.crt"SSLCertificateKeyFile "${SRVROOT}/conf/ssl/weixin.xxx.com.key"SSLCertificateChainFile "${SRVROOT}/conf/ssl/weixin.xxx.com_chain.crt"# document rootDocumentRoot "C:/phpstudy_pro/WWW/test"<Directory "C:/phpstudy_pro/WWW/test">Options FollowSymLinks ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire all grantedDirectoryIndex index.html</Directory># logCustomLog "${SRVROOT}/logs/weixin.xxx.com_ssl.log" \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"ProxyRequests offProxyPass /office ajp://localhost:9013/officeProxyPassReverse /office ajp://localhost:9013/officeProxyPass /officeapi http://localhost:9020/officeapiProxyPassReverse /officeapi http://localhost:9020/officeapi# errorErrorDocument 400 /error/400.htmlErrorDocument 403 /error/403.htmlErrorDocument 404 /error/404.htmlErrorDocument 500 /error/500.htmlErrorDocument 501 /error/501.htmlErrorDocument 502 /error/502.htmlErrorDocument 503 /error/503.htmlErrorDocument 504 /error/504.htmlErrorDocument 505 /error/505.htmlErrorDocument 506 /error/506.htmlErrorDocument 507 /error/507.htmlErrorDocument 510 /error/510.html
</virtualhost>

注:

  • ${SRVROOT} 为apache的按照目录。比如:C:\phpstudy_pro\Extensions\Apache2.4.39
  • apache 反向代理 tomcat 时,使用 ajp 协议由于 http 协议(参考 AJP 与HTTP 比较和分析)。
  • 当通过浏览器访问 https://weixin.xxx.com/office 时,Apache 将调用 http://localhost:9010/office 得到的结果返回给浏览器
  • 当通过浏览器访问 https://weixin.xxx.com/officeapi 时,Apache 将调用 http://localhost:9020/officeapi 得到的结果返回给浏览器
  • 当通过浏览器访问 https://weixin.xxx.com/images/default/head.jpg 时,Apache 将调用 C:/phpstudy_pro/WWW/test/images/default/head.jpg 返回给浏览器。如果 C:/phpstudy_pro/WWW/test/images/default/head.jpg 文件不存在,将会触发404错误,将 C:/phpstudy_pro/WWW/test/error/404.html 返回给浏览器。
  1. 重启apache。
  2. 测试一下。

  3. 检查证书按照是否完整
    访问这个网址进行检查:https://www.myssl.cn/tools/check-server-cert.html

    检查结果:

Apache 配置 Http 自动跳转 Https

  1. weixin.xxx.com.conf 配置文件中添加虚拟主机(VirtualHost)。(为啥是 weixin.xxx.com.conf 文件,参考准备步骤中的说明)
<VirtualHost *:80># server nameServerName weixin.xxx.com# document rootDocumentRoot "C:/phpstudy_pro/WWW/test"<Directory "C:/phpstudy_pro/WWW/test">Options FollowSymLinks ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire all grantedDirectoryIndex index.html</Directory># log # use default# errorErrorDocument 400 /error/400.htmlErrorDocument 403 /error/403.htmlErrorDocument 404 /error/404.htmlErrorDocument 500 /error/500.htmlErrorDocument 501 /error/501.htmlErrorDocument 502 /error/502.htmlErrorDocument 503 /error/503.htmlErrorDocument 504 /error/504.htmlErrorDocument 505 /error/505.htmlErrorDocument 506 /error/506.htmlErrorDocument 507 /error/507.htmlErrorDocument 510 /error/510.html# http redirect to httpsRewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</VirtualHost>

参考

  • 【SSL】openssl 提取 PKCS 证书库中的公钥、私钥、证书、密钥
  • apache ProxyPass指令详解
  • 设置Apache下HTTPS 自动跳转为 HTTP
  • Apache Rewrite规则详解
  • Apache配置HTTPS功能
  • Apache配置正向代理与反向代理
  • AJP与HTTP比较和分析
  • Tomcat的HTTP和AJP连接器
  • https://blog.csdn.net/tjmljw/article/details/84369413

【SSL】【Apache】 配置 https/ssl相关推荐

  1. 【SSL】【Apache】 使用向导配置 https/ssl

    前言 Apache 2.4.39 phpStudy 8.1.1.2 tomcat 8.0 的项目 准备 在 httpd.conf 配置文件中加载 Http 反向代理用到的模块 LoadModule p ...

  2. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  3. Apache配置HTTPS功能

    apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl ge ...

  4. Apache 配置HTTPS协议搭载SSL配置

    在设置Apache + SSL之前, 需要做: 安装Apache, 请参见: Windows环境下Apache的安装与虚拟目录的配置, 下载安装Apache时请下载带有ssl版本的Apache安装程序 ...

  5. Apache httpd 配置HTTPS SSL访问 443

    2, 首先安装https模块yum install mod_ssl 3. 配置Apache Web服务器 首先,修改下面的配置文件.仅需配置红色部分 SSLCertificateFile 和 SSLC ...

  6. SSL证书配置(https访问接口, 单向认证和双向认证)

    拿到SSL证书后, 如何才能解锁更多玩法? 一. SpringBoots项目配置https访问接口(直接配置) SSL协议 配置步骤 1. 获取证书/ 生成证书 2. 放置证书 3. 配置项目 pro ...

  7. windows 生成免费ssl证书 配置 https

    window10 + phpstudy 配置 https 首先简单的理解下https与http 1.从URL HTTP 是 HTTP:// 开头,而 HTTPS 是 HTTPs:// 开头: 2.HT ...

  8. SharePoint 2013 配置HTTPS(SSL)

    //来源:http://www.cnblogs.com/jianyus/p/4234780.html 1.打开服务器上的IIS,找到服务器证书,如下图: 2.进入服务器证书,点击右侧操作"创 ...

  9. 乌班图配置 https ssl证书

    2. 配置证书 在这里,我假设你已经会配置基本的/etc/apache2/sites-available/000-default.conf这个文件来达到已经可以通过 http 的方式来访问你的站点. ...

最新文章

  1. 用ajax进行部门的验证,ajax用$.post方式进行用户名校验
  2. vb6 数据自动生成excel文件_Excel随机生成数据
  3. 推荐一款超级好用的开源画图工具:用例图、架构图、时序图、类图、E-R图、甘特图
  4. C++控制台读取和输出函数
  5. 【学术相关】热议:寒门硕士要不要继续读博士?
  6. Kruskal实现最小生成树
  7. 牛客 - 走迷宫(模拟+离线)
  8. 安防监控系统CIF、D1等格式的解释
  9. jQuery-DOM操作
  10. 春节传统元素素材,帮助设计师完成中国风海报设计
  11. 基于JAVA+Spring+MYSQL的家教管理系统
  12. 【谷粒学院】项目总结
  13. Mac 启动 linux 可执行文件。
  14. 利用pandas对MovieLens电影数据分析
  15. 计算机二进制乘法运算(原码,补码)
  16. JAVA制作游戏脚本(1)---Robot机器人
  17. Prefix-Tuning: Optimizing Continuous Prompts for Generation
  18. 【java实现控制台打印表格】
  19. ⅰcp经济模型_简单介绍一下R中的几种统计分布及常用模型
  20. 【Python】打断点

热门文章

  1. windows自带的压缩,解压缩命令
  2. secondarynamenode异常
  3. Activity生命周期 onCreate onResume onStop onPause
  4. javaScript之数组Array
  5. asp.net mvc脚手架代码生成工具
  6. python中的数列[a::b]操作
  7. 【算法】字符串近似搜索(转)
  8. T-SQL中的GROUP BY GROUPING SETS
  9. 一家美资企业的java servlet面试题
  10. Java单元测试(Junit+Mock+代码覆盖率)