appache配置https与代理转发tomcat(windows)
配置https的原因在写这篇博客的时候我特意搜索了一下,“为什么使用https?”。找到了一篇讲的比较好的文章,大家可以看一看。全站 HTTPS 的时代已经来了,你准备好了吗?其实我使用https的理由很简单在我开发微信小程序的过程中,只能使用https协议,不支持http在我的GitHub的个人主页我使用了ajax跨域请求数据,我在本地测试没有任何问题,但是放到GitHub上之...
配置https的原因
-
在写这篇博客的时候我特意搜索了一下,“为什么使用https?”。找到了一篇讲的比较好的文章,大家可以看一看。全站 HTTPS 的时代已经来了,你准备好了吗?
-
其实我使用https的理由很简单
- 在我开发微信小程序的过程中,只能使用https协议,不支持http
- 在我的GitHub的个人主页我使用了ajax跨域请求数据,我在本地测试没有任何问题,但是放到GitHub上之后发现需要GitHub强制要求必须使用https协议发起ajax请求。
- 目前还没有遇到其它非要使用https的场景,但是以上两点决定我必须配置一个https啊
关于在那个服务器里配置https
- 我的服务器上安装了 apache 和 tomcat 两种。我做了前后端分离,我的构想是动态的数据请求接口全部放在 tomcat 上,把所有的静态资源放在 apache 上。这样做的原因是我看到有一篇文章讲到 apache 的静态资源的加载速度是快于 tomcat 的。虽然没有自己亲自测试两者的加载速度,但是我觉得把动态资源和静态分开更好。
- 我之前写过一篇文章如何给 tomcat 配置 https, 但是这样的话 apache 就没有被 https,这不算完全的 https,只有 tomcat 可以提供 https 连接。于是我就想可不可以把 tomcat 和 apache 连接起来。在经过一番baidu,bing,google之后果然让我找到了最简单的方式(tomcat 和 apache 之间有多种连接方式)使用代理转发就可以。
apache配置https
-
配置之前需要 ssl 证书,我买的是腾讯的域名,可以申请免费的 ssl 证书,下载之后打开 Apache 的文件夹会得到三个文件
1_root_bundle.crt
证书文件,2_www.domain.com.crt
证书文,3_www.domain.com.key
私钥文件 -
去 apache 的安装目录之下找到 conf 文件夹下的 httpd.conf ,开启这些配置项(去除前边的 # 号)
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so Include conf/extra/httpd-ssl.conf
-
将你的 ssl 证书的三个文件放到 conf 下的 ssl 文件夹中
-
去 conf 目录下的 extra 文件夹下修改文件 httpd-ssl.conf,开启这些配置项(去除前边的 # 号)并修改文件名为你的文件名
#启用 SSL 功能 SSLEngine on #证书文件的路径 SSLCertificateFile "${SRVROOT}/conf/ssl/2_www.domain.com.crt" #私钥文件的路径 SSLCertificateKeyFile "${SRVROOT}/conf/ssl/3_www.domain.com.key" #证书链文件的路径 SSLCertificateChainFile "${SRVROOT}/conf/ssl/1_root_bundle.crt"
-
重启 apache , 去 cmd 去 bin 下 执行 httpd -k restart,https 配置成功
以上这些是apache配置https最简单的配置,还有很多参数可自行Google
apache 代理转发 tomcat
-
如果之前的代理转发模块开启的话,只需要去 httpd.conf 最后加
#添加tomcat的代理规则 ProxyPass /web http://localhost:8080 ProxyPassReverse /web http://localhost:8080 ProxyVia On
-
再次重启tomcat,访问 https://www.domain.com/web/ 熟悉的tomcat,完美的https连接。【注意 web 后边加 /,不然页面会样式丢失】
参考链接:
更多推荐
所有评论(0)