主要参考地址为:https://blog.csdn.net/setoy/article/details/78441613

本篇主要以Apache这个web服务器来讲解,所以前提必须要安装好apache。

关于安装Apache,对于Ubuntu来说,一行命令行就能搞定。

sudo apt-get install apache2

当然了,如果有对lnmp或者lanmp环境搭建感兴趣的可以参考我的这篇博文:Ubuntu16.04之开发环境构建

虽说该文排版有待改善,但是内容还是很实用的。

1.开启SSL模块

a2enmod ssl

上面的命令相当于下面两条命令:

sudo ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled

如果没有a2enmod指令,也可直接在apache2.conf中设置SSL模块加载:

LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so

不过注意,一般都用不到这个,因为安装apache2时,自带有a2enmod指令。

2.创建第三方CA机构签署证书,并向它提交“生成证书的请求文件”(文件后缀通常为.csr)

openssl genrsa -des3 -out server.key 1024

-des3选项能对私钥进行加密,采用此选项会在后续的设置中提示你输入密码(只是加密私钥,https访问时不需要这个密码)

这样会在当前目录下生成server.key私钥文件

3.生成请求文件csr

openssl req -new -key server.key -out server.csr

执行这条命令后,会在小黑窗里显示如下需要填写的内容:

Country Name
Province Name
Common Name
Email

其中Common Name最好用域名,否则https访问时会出现证书不一致的情况

4.自己签发证书

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

3650表示证书有效期10年

5.修改apache配置文件

ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf
vim /etc/apache2/sites-enabled/default-ssl.conf

在DocumentRoot中加入内容:

SSLEngine On
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

6.重启Apache即可

/etc/init.d/apache2 restart

完成上面的不能代表,就可以直接使用。上面的步骤,只是一个搭建,可以让你看到界面上的简单效果。

简而言之的说,中看不中用。但是总的来说,它仍然是有益的。希望能够给广大朋友带来帮助。

Ubuntu 16.04配置SSL免费证书的更多相关文章

  1. ubuntu 16.04 配置ssl

    Let's Encrypt 的服务相信很多人都知道了,我个人认为这是最好的免费 SSL 服务.下面内容即使如何在自己的网站上使用 Let's Encrypt 实现 SSL. 前提条件 自己拥有一个域名 ...

  2. Ubuntu 16.04配置OpenCV 3.1.0 for Java

    我们都知道,OpenCV是基于C++的开源计算机视觉库,但是从2.4.4版本开始提供了Java绑定,也就是说,我们也可以使用Java来开发基于OpenCV的计算机视觉应用.目前,最新的版本是3.1.0 ...

  3. Ubuntu 16.04配置国内高速apt-get更新源【转】

    转自:https://blog.csdn.net/twang0x80/article/details/79782753 Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换 ...

  4. Ubuntu 16.04配置国内高速apt-get更新源

    https://www.linuxidc.com/Linux/2017-11/148627.htm Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换到国内比较好的快速更 ...

  5. Ubuntu 16.04 配置安卓5.1编译环境

    Ubuntu 16.04版本 电脑cpu必须是64位 硬盘分配大约100G的空间 1.ubuntu中更新源 $ sudo apt-get update 2.安装 openjdk-8-jdk $ sud ...

  6. Ubuntu 16.04配置vncviewer

    网上有各种各样的教程,既混乱又复杂.这是提供一个亲自测试可用的配置方案,十分简单,桌面环境选用xfce,Ubuntu版本是16.04. 1 安装 Xfce 和 TightVNC sudo apt in ...

  7. ubuntu 16.04 配置静态ip 后默认的网卡eno1变成eth0了不能联网的问题解决

    我这次是在真实机器上面安装的ubuntu16.04 在配置了静态ip后不懂什么原因默认的eno1网卡变回了eth0网卡之后就不能上网, 同一个网段的其他集群节点也不能ping 通 因为ubuntu16 ...

  8. Ubuntu 16.04配置Java Web开发环境

    说明:在Linux下无论是开发还是服务器配置,我个人建议都安装二进制包版本的,优点:配置清晰,容易发现问题,性能调优方便等.缺点:配置太复杂.而其余平台的建议是一键安装版本,毕竟都是用于测试的,不会实 ...

  9. Ubuntu 16.04配置JDK

    此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 一.JRE和JDK JRE(Java Runtime Environment)是运行一个基 ...

随机推荐

  1. js、jQuery各种高度

    height.js ```$(document).height(); //整个网页的高度 $(window).height(); //浏览器可视窗口的高度 $(window).scrollTop(); ...

  2. redis 学习(12)-- redis 发布订阅

    redis 发布订阅 发布订阅模式中的角色 发布者(publisher) 订阅者(subscriber) 频道(channel) 如图所示: 发布者发布消息到频道,订阅了频道的订阅者可以收到消息,订阅 ...

  3. MapReduce框架中的Shuffle机制

    Shuffle是map和reduce中间的数据调度过程,包括:缓存.分区.排序等. Shuffle数据调度过程: map task处理hdfs文件,调用map()方法,map task的collect ...

  4. php enum 数字类型插入失败的解决办法

    今天遇到一个问题,我设置mysql字段 existence 为enum ,值为 ''0','1'. 当使用 php 进行查找 where existence = 1 的时候,并没有查询出什么数据. 后 ...

  5. 关于redis的几件小事(十)redis cluster模式

    redis cluster是redis提供的集群模式. 1.redis cluster的架构 ①可以有多个master node,每个master node 都可以挂载多个slave node. ②读 ...

  6. python 利用已有Ner模型进行数据清洗合并

    # -*- coding: utf-8 -*- from kashgari.corpus import DataReader import re from tqdm import tqdm def c ...

  7. 15、Nginx动静分离实战

    1.Nginx动静分离基本概述 动静分离, 通过中间件将动静分离和静态请求进行分离. 那为什么要通过中间件将动态请求和静态请求进行分离? 减少不必要的请求消耗, 同时能减少请求的延时. 通过中间件将动 ...

  8. C++ Concurrency In Action 一些重点

    全部来自于gitbook  C++并发编程(中文版) 需要对一个还未销毁的std::thread对象使用join()或detach().如果想要分离一个线程,可以在线程启动后,直接使用detach() ...

  9. 【小知识】比较 x^y 和 y^x 的大小

    往前翻几个编号相邻的题目翻到了这么一道题,感觉很好奇就做了一下 (upd:我下午问了下出题人做法,他就把题隐藏了……这不太友好啊……所以我补一下题意:) 题意 给你两个整数 $x$ 和 $y$,求 $ ...

  10. Django学习系列15:把POST请求中的数据存入数据库

    要修改针对首页中的POST请求的测试.希望视图把新添加的待办事项存入数据库,而不是直接传给响应. 为了测试这个操作,要在现有的测试方法test_can_save_a_post_request中添加3行 ...