Linux 中 Xampp 的 https 安全证书配置
一、前言
HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的。在一些对安全性要求较高的网站,比如银行、证券、购物等,都采用 HTTPS 服务,这样在这些网站上的交换信息,其他人抓包获取到的是加密数据,保证了交易的安全性。网页的地址以 https:// 开始,而不是常见的 http://。所以, Google 的 Chrome 浏览器从 2017 年 1 月开始,标记使用不加密的 HTTP 协议的网站为 Not Secure,不安全。给网站加上 SSL 功能,只要申请一个 SSL 证书,在服务器端配置好,就可以实现 https 访问了。安全证书分为免费的和收费的,此处我们选择免费类型的证书。
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。
二、申请 https 安全证书
由于本人使用的是阿里云的 ECS 服务器,可以在阿里云申请免费的 CA 证书。申请证书之后, 系统会按照不同的服务器,提供不同的证书下载,主要支持的服务器有 Nginx、Apache、Tomcat 和 IIS 等。
进入到阿里云控制台 - 安全(云盾)- CA证书服务(数据安全),点击右上方的购买证书,进入到如下页面:

(免费)购买之后证书服务之后,在"我的订单"中找到购买的证书记录,"补全"信息,绑定自己的域名和个人信息,提交之后等待审核,当状态变为"已签发"之后,就可以点击"下载"进入如下页面,按照不同的服务器下载对应的证书。

由于我的 php 集成环境是 xampp,所以需要在 Apache 中配置安全证书,此处下载 Apache 的安全证书压缩包。
三、安装 SSL 证书并开启 443 端口
首先,编辑 /opt/lampp/etc/httpd.conf,分别查找下面两项配置,确保去掉前面的 #
LoadModule ssl_module modules/mod_ssl.so
Include etc/extra/httpd-ssl.conf
解压缩之后如下,可以看到如下文件:

然后将证书文件上传到自己的服务器中,打开 /opt/lampp/etc/extra/httpd-ssl.conf 文件,找到如下配置项,按照上传的路径做配置:
# 证书公钥配置
SSLCertificateFile "/opt/lampp/etc/ssl.crt/public.pem"
# 证书私钥配置
SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/2145229xxxxxxxx.key"
# 证书链配置
SSLCertificateChainFile "/opt/lampp/etc/chain.pem"
开启 443 端口:
<VirtualHost _default_:443>
443 端口也是网页浏览端口,但主要是用于 HTTPS 服务,是提供加密和通过安全端口传输的。另一种网页端口是 HTTP,HTTP 主要使用 80 端口。
配置好之后,重启服务器即可生效。
[root@ryan extra]# /opt/lampp/lampp reloadapache
XAMPP: Reload Apache...ok.
然后还需要在防火墙中放行 443 端口,如果是在阿里云服务器上,则需要添加安全组规则,如下:

这一步切记不要忘记,提供服务后,一定要开放服务对应的端口,这样别人才能访问该服务。
四、验证
以谷歌 Chrome 为例:
4.1 安装证书前,浏览器显示不安全:

点击"不安全",会出现如下提示:

4.2 安装证书后,浏览器有可能显示如下:

点击那个带感叹号的圆圈,提示如下:

出现这样的提示是由于网站页面上包含混合内容导致的,也就是说,网站页面上包含 http 的资源也包含 https 的资源。通常这种情况是需要在网站页面上做一些调整才能去除提示。
通过 F12 查看页面所有的额请求发现,其中有个别资源文件的请求依然是 http,所以需要调整这些不安全的连接。
4.3 调整后,浏览器显示如下:

发现浏览器已经出现了小绿锁,表示系统已经使用了 https 安全连接。
点击小绿锁,显示如下:

浏览器一切正常,表明 https 证书配置成功。
Linux 中 Xampp 的 https 安全证书配置的更多相关文章
- Linux中安装C++编译器codeBlock,并配置opencv链接库
1.Linux中安装codeBlock https://blog.csdn.net/xinyunyishui/article/details/50967395 2.CodeBlock中的中文显示不完全 ...
- linux中keepalived实现nginx高可用配置
linux中keepalived实现nginx高可用配置 安装keepalived 运行如下命令即可 tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src cd ...
- 阿里云https免费证书配置-包教会
阿里云https免费证书配置-包教会-有需要请联系小编! 小编个人站点:https://www.itdog.site/ 小编微信号:wvqusrtg
- linux下安装Apache(https) 服务器证书安装配置指南
一. 安装准备 1. 安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.推荐下载安装openssl-0.9.8k.tar.gz 下载Openssl:http: ...
- nginx配置ssl双向验证 nginx https ssl证书配置
1.安装nginx 参考<nginx安装>:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个http ...
- linux中Python源码安装和配置
安装 首先获取安装包,此处版本为3.7 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 解压 tar xvf Python- ...
- Linux中Nginx服务器的部署和配置
目录 Nginx安装方式: yum源安装 目录结构: 源码包安装 目录结构: Nginx中支持PHP Nginx中配置php对mysql数据库的支持 Nginx配置反向代理服务器 正常代理 根据不同端 ...
- ios https 安全证书配置
原定于2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS,需要配置Https.但是现在不需要了,无固定期限的往后延期了,但是这个还是得弄明白下为好,说不定哪天突然就让弄了 ...
- 【LNMP】基于阿里云的https免费证书配置
1 登录阿里云账户,左侧菜单选择 -> 2 右上角选择购买证书,选择免费型 3 按照流程购买,回到订单列表.填写认证信息,选择DNS解析, 在列表 选择下载证书 4 我的服务器是ng ...
随机推荐
- 100天搞定机器学习|day37 无公式理解反向传播算法之精髓
100天搞定机器学习(Day1-34) 100天搞定机器学习|Day35 深度学习之神经网络的结构 100天搞定机器学习|Day36 深度学习之梯度下降算法 本篇为100天搞定机器学习之第37天,亦 ...
- 解决HTML5实现一键拨号、一键发短信及上传头像兼容性问题
HTML5实现一键拨号,一键发短信以及上传头像等问题都是比较常见的场景,近期在做移动端项目的时候遇到阻挠,通过查找资料解决了问题: 废话不多说,直接上案例代码: HTML5实现一键拨号: <a ...
- python实现RSA加密和签名以及分段加解密的方案
1.前言 很多朋友在工作中,会遇到一些接口使用RSA加密和签名来处理的请求参数,那么遇到这个问题的时候,第一时间当然是找开发要加解密的方法,但是开发给加解密代码,大多数情况都是java,c++,js等 ...
- Python学习 之三 Python基础&运算符
第三章:Python基础 & 运算符 3.1 内容回顾 & 补充 计算机基础 编码 字符串: "中国" "Hello" 字 符: 中 e 字 节 ...
- vue当图片加载失败时,用一个默认图片替换;
原理就是给img绑定error事件,替换原有的src地址. 首先在data中创建一个defaultImg(随便起的),里面的值是该默认图片的地址: 在html页面的img标签上绑定该属性 这样默认图片 ...
- 安装hadoop集群--hdfs
安装hadoop集群--hdfs 大数据软件 链接:https://pan.baidu.com/s/1-3PYLHMgvvONawJq55hstQ 提取码:izqf 准备一台干净的虚拟机-centos ...
- 吃货眼中的sqlalchemy外键和连表查询
前言 使用数据库一个高效的操作是连表查询,一条查询语句能够查询到多个表的数据.在sqlalchem架构下的数据库连表查询更是十分方便.那么如何连表查询?以及数据库外键对连表查询有没有帮助呢?本篇文章就 ...
- Oracle - Tables
创建表 a: Sql语句创建 -- Create table create table Table_Name ( 字段1 VARCHAR2(50), 字段2 VARCHAR2(50) not null ...
- 自己实现vue瀑布流组件,含详细注释
我知道vue有瀑布流插件vue-waterfall-easy,但是使用的时候与我的预期有部分别,所以就自己动手写了这个组件 人和动物的根本区别是是否会使用工具,我们不仅要会使用,还要会创造工具,别人提 ...
- 在.net core wep项目中使用Session
第1步:添加包引用 Install-Package Microsoft.AspNetCore.Session 第2步:添加代码启用Session 在项目Startup.cs文件的ConfigureSe ...