微信小程序必须用https才能访问,所以我想获取我服务器的内容只能用https。这里我采用的是阿里云。
但是我只有一台服务器,并且那太服务器的端口443被我的springboot,https占用了,这里我就采用修改apache https端口的方式。
centos7安装httpd
(有的话一定要先卸载),或者先停止,因为安装mod _ssl的时候会更改配置
yum -y install httpd
下载ssl证书
https://yundunnext.console.aliyun.com/?spm=a2c4g.11186623.2.8.5e0a60e0UJLqD4&p=cas#/certExtend
点击下载,下载apache证书
下载好后解压
- 证书文件:以.crt为后缀或文件类型。
- 证书链文件:以.crt为后缀或文件类型。
- 密钥文件:以.key为后缀或文件类型。
在apache的目录下创建cert目录
cd /etc/httpd
mkdir cert
并且将3个证书文件copy过去
安装
yum install -y mod_ssl
修改配置文件
/etc/httpd/conf
vi httpd.conf使用xftp下载下来。通过ctrl+f搜索相关的内容
修改httpd.conf配置文件。(注意,这是阿里的官方文档,但是实际情况却不一定有,看下面我补充的说明)
- 在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。
#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。 #Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。
说明:
由于操作系统的版本不同,目录结构也不同,请根据实际操作系统版本进行查找。LoadModule ssl_module modules/mod_ssl.so和 Include conf.modules.d/*.conf 配置语句可能配置在以下配置文件中:
conf.modules.d 目录下的 00-ssl.conf 配置文件。
httpd.conf 配置文件。
http-ssl.conf 配置文件。
进入 /etc/httpd/conf.modules.d
发现存在
查看发现确实有。
但是不管怎么找,也找不到他说的第二条#Include conf/extra/httpd-ssl.conf
于是查看各种资料发现,centos系统通过yum安装的apache,ssl会自动开启,不需要你配置。
修改
/etc/httpd/conf.d
中的ssl
修改内容【参考】如下,但是把端口全部改成8081。实际修改内容以,往下面看的实际操作为准。
<VirtualHost *:443> ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。 DocumentRoot /data/www/hbappserver/public SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。SSLHonorCipherOrder onSSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost>#如果证书包含多个域名,复制以上参数,并将ServerName替换成第二个域名。
<VirtualHost *:443> ServerName #修改为申请证书时绑定的第二个域名www.YourDomainName2.com。 DocumentRoot /data/www/hbappserver/public SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。SSLHonorCipherOrder onSSLCertificateFile cert/domain name2_public.crt # 将domain name2替换成您申请证书时的第二个域名。SSLCertificateKeyFile cert/domain name2.key # 将domain name2替换成您申请证书时的第二个域名。SSLCertificateChainFile cert/domain name2_chain.crt # 将domain name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。
</VirtualHost>
正式操作:
端口号从443改成8081
修改端口、服务器的文件路径、域名
解除注释、修改为自己的3个签名,第一个为public,第二个是key,第3个是chain
替换文件(我的是下载下来后改的,改完之后替换上去)
完毕。启动http
通过https访问apache默认页面成功。
参考:
https://help.aliyun.com/document_detail/98727.html?spm=a2c4g.11186623.6.625.61843936O8WP8l
https://www.cnblogs.com/jungejava/p/11200631.html
https://blog.csdn.net/orDream/article/details/90262348
https://cloud.tencent.com/developer/ask/24187