博客地址:http://www.moonxy.com

一、前言

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 安全证书配置的更多相关文章

  1. Linux中安装C++编译器codeBlock,并配置opencv链接库

    1.Linux中安装codeBlock https://blog.csdn.net/xinyunyishui/article/details/50967395 2.CodeBlock中的中文显示不完全 ...

  2. linux中keepalived实现nginx高可用配置

    linux中keepalived实现nginx高可用配置 安装keepalived 运行如下命令即可 tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src cd ...

  3. 阿里云https免费证书配置-包教会

      阿里云https免费证书配置-包教会-有需要请联系小编! 小编个人站点:https://www.itdog.site/ 小编微信号:wvqusrtg  

  4. linux下安装Apache(https) 服务器证书安装配置指南

    一.  安装准备 1.    安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.推荐下载安装openssl-0.9.8k.tar.gz   下载Openssl:http: ...

  5. nginx配置ssl双向验证 nginx https ssl证书配置

    1.安装nginx 参考<nginx安装>:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个http ...

  6. linux中Python源码安装和配置

    安装 首先获取安装包,此处版本为3.7 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 解压 tar xvf Python- ...

  7. Linux中Nginx服务器的部署和配置

    目录 Nginx安装方式: yum源安装 目录结构: 源码包安装 目录结构: Nginx中支持PHP Nginx中配置php对mysql数据库的支持 Nginx配置反向代理服务器 正常代理 根据不同端 ...

  8. ios https 安全证书配置

    原定于2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS,需要配置Https.但是现在不需要了,无固定期限的往后延期了,但是这个还是得弄明白下为好,说不定哪天突然就让弄了 ...

  9. 【LNMP】基于阿里云的https免费证书配置

    1 登录阿里云账户,左侧菜单选择    ->   2 右上角选择购买证书,选择免费型 3 按照流程购买,回到订单列表.填写认证信息,选择DNS解析,  在列表 选择下载证书 4 我的服务器是ng ...

随机推荐

  1. 编译Assimp傻瓜教程

    assimp的编译过程和搭建OpenGL环境时glfw的编译基本相同,建议先阅读环境搭建 下载源码 这里使用的是3.3.1版本,Github下载assimp源码 解压完你会得到 接下来我们要编译这些源 ...

  2. PHP危险函数总结学习

    1.PHP中代码执行的危险函数 call_user_func() 第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数. 传入call_user_func()的参数不能为引用传递 ...

  3. 在centos6系列vps装Tomcat8.0

    In the following tutorial you will learn how to install and set-up Apache Tomcat 8 on your CentOS 6 ...

  4. neural_transfer风格迁移

    ContentLoss 首先是要定义一个内容差异损失函数,这里直接调用functional.mse_loss(input,self.target)就可以计算出其内容差异损失. 注意这里一般是定义一个网 ...

  5. LoRaWAN_stack移植笔记(七)_数据包的接收发送

    以下的代码适用于LoRa sx1276点对点的通讯,纯粹的考虑在非发射模式下即为接收模式 配置sx1276的射频参数,并且切换到接收模式 //bandwidth [0:125 1:250 2:500] ...

  6. **p,*p和&p使用有感

    *p两种使用情况: 1.定义指针变量,如char *p:这里p是一个变量,单单在这一点上与int a 无差别:但p这个变量特殊在其中只能存地址. 引申:对于char **p,p中存一个地址add1,a ...

  7. 如何使用 Skywalking Agent ?

    如何使用 Skywalking Agent ? 如果你还不知道 Skywalking agent 是什么,请点击这里查看 Probe 或者这里查看快速了解agent,由于我这边大部分都是 JAVA 服 ...

  8. python入门(三)列表、元组、range()、字典

    列表(list) 列表简介:列表(list)是处理一组有序项目的数据结构.用方括号[]表示.可以进行添加,删除,替换,搜索操作.是可变的数据类型.列表可以嵌套和支持索引. name=[12," ...

  9. [翻译] .NET Core 3.0 Preview 9 发布

    原文: Announcing .NET Core 3.0 Preview 9 今天,我们宣布推出 .NET Core 3.0 Preview 9.就像 Preview 8 一样,我们专注于打磨 .NE ...

  10. LuoGuP1516 青蛙的约会 + 同余方程 拓展欧几里得

    题意:有两只青蛙,在一个圆上顺时针跳,问最少的相遇时间.   这个是同余方程的思路.可列出方程:(m-n)* X% L = y-x(mod L) 简化为 a * x = b (mod L)    (1 ...