apache代理配置https
原文:https://mp.weixin.qq.com/s/Tw4UzX73Q7MSw3GJXnpN8A
微信小程序开发https设置
微信官方规定小程序的允许请求的地址都是https开头,所以如果你想搞微信小程序开发,那么服务的地址都必须以https协议的方式提供,也就是说http是不能用的。而且每个月仅能做出5次修改,所以且行且珍惜吧!
在瞎jb折腾了三天后,https安全协议的问题终于解决了。其实你也不必担心,因为需要修改的地方也就两三处。只要你跟着我的思路走,问题肯定是可以解决的。我的环境如下:
-阿里云CES
-Windows Server2008
-Apache2.4(包含了ssl模块,推荐下载Appserv安装包,Apache,Mysql和PHP一起打包配套好了,很方便)
一. 证书申请
我使用的是阿里云的免费证书,在CA证书功能项下点击申请就行,阿里云官方会给你生成所有你想要的配置文件,并在域名解析中插入一条非常必要的TXT记录。然后你把这个证书包下载后,放置到Apache下新建的cert目录,就可以进入到后续的步骤了。
这个步骤相对来说比较简单,需要注意的地方也不多,按照阿里云官方的提示来,就能够操作成功了。值得注意的是你在申请证书过程中,证书是免费的,你不用付费,但是需要下单,下单完成后需要完善你的域名信息,然后提交审核。审核完成后,官方自动给你发放证书,顺利的话一个小时就能搞定。
好多同学申请证书时,下单后不管了,等着他给你发,可域名信息没有填呀,官方也不知道你给那个域名申请证书,所以完善域名信息这个步骤不要忘了。
二. Apache配置
— 修改httpd.conf文件
申请到证书后,下载Apache对应的文件,解压后放置到Apache根目录下新建的cert目录中,如果没有那么就新建一个cert目录。
打开Apache的配置文件httpd.conf,在这个文件中保证这两条语句如下两句话没有被注释,并能够在对应的文件下找到相应的文件。如果找不到相应的文件,那么说明Apache的安装是有问题的,需要下载其他可用的版本。
必须保证以下这两个配置可用,前面没有被“#”号注释:
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
第一个配置的意思是加载mod_ssl.so文件,所以应该检查下Apache目录下的modules文件夹中是否存在mod_ssl.so文件;第二句话的意思是导入Apache根目录下conf/extra/文件夹下的httpd-ssl.conf配置文件,也就是下面我们将要编辑的文件。
以上这两句话非常重要,导入的文件一定是mod_ssl.so和httpd-ssl.conf,网上的教程说的是其他的文件,是不能成功的。
— 修改conf/extra/文件夹下的httpd-ssl.conf文件
下面修改conf/extra/文件夹下的httpd-ssl.conf配置文件,找到Apache根目录下conf/extra/文件夹里的httpd-ssl.conf文件。
添加如下配置:
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
# 修改加密套件如下
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/214063864580972.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem
这里有几个需要注意的地方:
1.配置的内容不能重复。比如httpd-ssl.conf如果包含了原有的SSLCertificateFile节点,那么把需要把原有的节点注销了,新加入的节点才会有效。
所以在加入之前你应该查找一下原来的文件中是否已经有了必要的配置,如果有了那么把原来的节点内容注销了,然后加入新的配置。
2. 所有的内容都是针对<VirtualHost _default_:443>这个标签中的内容进行修改。如果你修改的是其他的内容,或者是直接把阿里云提供的配置信息复制粘贴到httpd-ssl.conf文件的底部,那么是不会成功的。
3. 修改域名和https指向的根目录。网上很多的文章几乎没有提到过这条内容,这也是很多同学配置没有成功的根本原因。需修改<VirtualHost _default_:443>标签下的DocumentRoot和ServerName这两项内容。
DocumentRoot,顾名思义就是https协议指向的根节点,就好像http默认是指向www目录一样。这个配置你可以自定义,也可以使用默认的htdocs文件夹,默认情况下是没有这个目录的,新建一个然后拷贝phpinfo.php文件到这个文件夹下。
ServerName就是你在申请证书时填写的域名,注意要保留https默认的端口号443。
这是我的httpd-ssl.conf结尾部分的内容,注意除了SSLProtocol和SSLCertificateChainFile配置之外的内容都被注销了,因为其他的配置我改的是原来的内容,所以从阿里云拷贝过来的相同的内容就注释掉了。
最后重启Apache,新的设置就会启用了。
上个最后配置成功后,请求的效果吧!
apache代理配置https的更多相关文章
- nginx 反向代理 配置 https 实现http https同时存在
server { listen ssl; #监听443端口 server_name www.app01.com; ssl on; #启用ssl加密 ssl_certificate /etc/cert/ ...
- nginx 反向代理 配置 https 实现http https同时存在 经测试 支持location 规则
server { listen ssl; #监听443端口 server_name www.app01.com; ssl on; #启用ssl加密 ssl_certificate /etc/cert/ ...
- nginx,apache,tomcat配置https的阿里提供的文档
安装证书 ( 1 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到 # HTTPS server # #server { # listen 443; # serv ...
- apache http配置https
<一,Lamp系统搭建> yum install httpd httpd-devel mysql mysql-server mysql-devel php php-mysql php-co ...
- apache 代理配置
apache 2.4.6版本 <VirtualHost *:8080> ServerName 21.12.13.146 DocumentRoot /root/gbhu ErrorLog / ...
- 指定页面配置https(apache/tomcat)
apache/tomcat服务器下配置https apache下配置https: 首先在网站根目录下,找到.htaccess文件(如果没有则新建),apache ...
- SSL证书部署HTTPS站点Apache/Nginx配置
SSL证书及HTTPS协议 SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1.数据信息在客户端和服务器之间的 ...
- windows环境下wampserver配置https
因为公司业务主要是在微信上进行开展的,所以作为程序员的我们每天的开发任务就都是在与微信打交道,这个时候我们就需要在本地配置端口映射到外网,方便我们在微信客户端进行调试. 最近某种需要,所以需要配置 h ...
- 使用nginx代理后以及配置https后,如何获取真实的ip地址
使用nginx代理后以及配置https后,如何获取真实的ip地址 Date:2018-8-27 14:15:51 使用nginx, apache等反向代理后,如果想获取请求的真实ip,要在nginx中 ...
随机推荐
- 所以到底什么是 Growth Hacking?
Growth hacking 在硅谷的确是有快被用坏的趋势,之所以在大陆的互联网创业圈里还没有普及开来,我想一个是由于这个词并没有对应的中文解释,没有一个能够找到一个相对完美的解释,就像 “hack” ...
- 在Struts2的Action中获得request response session几种方法
转载自~ 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象呢?Struts2为我们提供了四种方式.分别为se ...
- 常用Build-in Keywords
1. Variables |- Set variable |- Create list |- Evaluate |- Get Variable Value 2. Conditional |- Run ...
- shell 中的操作符
1.算术操作符 2.关系操作符 3.布尔操作符 4.字符串操作符 5.文件相关操作符 算术操作符 bash shell 没有提供任何机制来执行简单的算术运算,不过我们可以借助于一些其他程序,如 exp ...
- golang 中的 time 包的 Ticker
真实的应用场景是:在测试收包的顺序的时候,加了个 tick 就发现丢包了 那么来看一个应用例子: package main import ( "fmt" "runtime ...
- SQL语句(十六)实现集合运算、对数据修改、数据表复制
(一).集合运算(交.并.补) --(1)Union 并运算 select Sname from Student UNION select Tname From Teacher --(2)INTERS ...
- Linux命令练习.ziw
2017年1月10日, 星期二 Linux命令练习 1.统计/usr/bin/目录下的文件个数: # ls /usr/bin | wc -l 判断 /home/goldin目录是否有文件 2.取出当前 ...
- MVC: Connection String
背景: 之前项目使用的是DB first/Model first,现在要对EF升级的6.0,并且更换成Code first. 问题: 1. System.Data.Entity.Core.Metada ...
- Windows系统环境下Solr之Java实战(一)搭建solr服务器并配置IK分词
搭建solr服务器 1.下载地址:http://archive.apache.org/dist/lucene/solr/ 2.将D:\JavaWeb\Solr\solr-6.2.0\server\so ...
- Flash数据的采集方法-搜房房价走势采集
一般来说flash中的数据是不能被现有技术很容易采集到的,但是也不能谈flash色变,要具体问题具体分析,有些flash是可以通过一些分析发现背后的数据.然后采集就变得很容易了. 具体案例:搜房房价走 ...