博客地址: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. Spring boot中的 JsonConverter

    上图是spring-web包的部分目录 为了找出调用了哪种类型的Convert 我找到父类 HttpMessageConverter 查看了它的引用 在spring-boot-autoconfigur ...

  2. 逆向破解之160个CrackMe —— 016

    CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  3. Mybatis实现一对一查询 对ResultType和ResultMap分析

    实现一对一查询: ResultMap:使用ResultType实现较为简单,如果pojo中没有包括查询出来的列名,需要增加 列名对应的属性,即可完成映射. 如果没有查询结果的特殊要求建议使用Resul ...

  4. c++智能指针介绍

    C++11标准引入了boost库中的智能指针,给C++开发时的内存管理提供了极大的方便.接下来这篇文件介绍shared_ptr/weak_ptr内部实现原理及使用细节. C++不像java有内存回收机 ...

  5. Vue实现静态数据分页

    <div style="padding:20px;" id="app"> <div class="panel panel-prima ...

  6. Spring框架入门之Spring4.0新特性——泛型注入

    Spring框架入门之Spring4.0新特性——泛型注入 一.为了更加快捷的开发,为了更少的配置,特别是针对 Web 环境的开发,从 Spring 4.0 之后,Spring 引入了 泛型依赖注入. ...

  7. Mysql系列 - 第3天:管理员必备技能(必须掌握)

    这是mysql系列第3篇文章. 环境:mysql5.7.25,cmd命令中进行演示. 在玩mysql的过程中,经常遇到有很多朋友在云上面玩mysql的时候,说我创建了一个用户为什么不能登录?为什么没有 ...

  8. 《阿里巴巴Java开发手册1.4.0》阅读总结与心得(三)

      (六)工程结构 (一)应用分层 1. [推荐]图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于Web 层,也可以直接依赖于 Service 层,依此类推:  开放接口层: ...

  9. Java 从入门到进阶之路(五)

    之前的文章我们介绍了 Java 的循环结构,本章我们来看一下 Java 的数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. 数组 - 相同数据类型的元 ...

  10. Vim高手,从来不用鼠标2——替换、撤销、缩进、查找

    本文章原创首发于公众号:编程三分钟 vim 替换.撤销.缩进.查找 上一次我们掌握了移动.跳转.定位.操作(删除.复制.粘贴),基本使用vim脱离鼠标完全是可以做到的了.速记如下: 移动: h,l,j ...