如何在Apache上为CentOS 7创建SSL证书

Apache HTTP Server是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性。被广泛使用,是最流行的Web服务器软件之一。那么今天我要给大家翻译的一个教程就是有关在Apache网页服务器上创建SSL证书。

如果你想继续往下阅读,请你服务器满足一下条件:(若不满足可以作为一个参考)

1.使用的是 CentOS 7服务器系统

2.使用Apache作为网页服务器

3.你需要具有sudo权限的非root用户

先来介绍一下:

TLS或“传输层安全性”以及其前身SSL(代表“安全套接字层”)是用于将受保护的加密包装器中的正常流量包装的Web协议。使用这种技术,服务器可以在服务器和客户端之间安全地发送流量,而不用担心消息将被外部方拦截和读取。证书系统还帮助用户验证他们正在连接的站点的身份。

注意:自签名证书将加密服务器与任何客户端之间的通信。但是,由于Web浏览器附带的任何受信任的证书颁发机构未签名,因此用户无法使用证书自动验证服务器的身份。如果您没有与服务器相关联的域名以及加密的Web界面不是面向用户的实例,则自签名证书可能是适当的。如果您有域名,在许多情况下最好使用CA签发的证书。您可以在这里找到我们的“加密”项目,了解如何设置一个免费的受信任的证书。


您还需要安装Apache才能为其配置虚拟主机。如果还没有这样做,可以使用yum通过CentOS的默认软件仓库安装Apache:

sudo yum install httpd

接下来,启用Apache作为CentOS服务,以便在重新启动后自动启动:

sudo systemctl enable httpd.service

完成这些步骤后,您可以通过SSH作为非root用户帐户登录,并继续执行本教程。

为了设置自签名证书,我们首先必须确保为服务器安装了mod_ssl,一个提供SSL加密支持的Apache模块。我们可以使用yum命令安装mod_ssl:

sudo yum install mod_ssl

该模块将在安装过程中自动启用,Apache将在重新启动后能够开始使用SSL证书。您不需要为mod_ssl采取任何其他步骤即可使用。

现在Apache准备好使用加密,我们可以继续生成新的SSL证书。该证书将存储有关您的站点的一些基本信息,并附有一个密钥文件,允许服务器安全地处理加密数据。

首先,我们需要创建一个新的目录来存储我们的私钥(/etc/ssl/certs)

sudo mkdir /etc/ssl/private

由于保存在此​​目录中的文件必须严格保密,因此我们将修改权限,以确保只有root用户可以访问:

sudo chmod 700 /etc/ssl/private

现在我们有一个放置文件的位置,我们可以使用openssl创建SSL密钥和证书文件:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

输入请求后,您将被带到一个提示,您可以在其中输入有关您的网站的信息。在我们讨论之前,让我们来看看我们正在发布的命令中发生了什么:

openssl: 这是创建和管理OpenSSL证书,密钥和其他文件的基本命令行工具。

req -x509: 这指定我们要使用X.509证书签名请求(CSR)管理。 “X.509”是SSL和TLS坚持用于密钥和证书管理的公钥基础架构标准。

-nodes: 这告诉OpenSSL跳过使用密码保护证书的选项。当服务器启动时,我们需要Apache才能读取文件,无需用户干预。密码会阻止这种情况发生,因为每次重新启动后都必须输入密码。

-days 365: 此选项设置证书被认为有效的时间长度。我们在这里设置了一年。

-newkey rsa:2048: 这指定我们要同时生成新证书和新密钥。我们没有创建在上一步中签署证书所需的密钥,因此我们需要与证书一起创建。 Thersa:2048分配告诉它制作一个2048位长的RSA密钥。

-keyout: 该行告诉OpenSSL放置我们正在创建的生成的私钥文件。

-out: 这告诉OpenSSL放置我们正在创建的证书的位置。

恰当地填写提示。最重要的一行是请求公用名称。您需要输入要与服务器关联的域名。如果您没有域名,则可以输入公网IP地址。完整的提示列表将如下所示:

Country Name (2 letter code) [XX]:US

State or Province Name (full name) []:Example

Locality Name (eg, city) [Default City]:Example

Organization Name (eg, company) [Default Company Ltd]:Example Inc

Organizational Unit Name (eg, section) []:Example Dept

Common Name (eg, your name or your server's hostname) []:example.com

Email Address []:webmaster@example.com

您创建的两个文件将被放置在/ etc / ssl目录的相应子目录中。当我们使用OpenSSL时,我们还应该创建一个强大的Diffie-Hellman组,用于与客户协商完美转发保密。我们可以输入以下内容:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

这可能需要几分钟的时间,但完成后,您将在/etc/ssl/certs/dhparam.pem拥有强大的DH组,我们可以在配置中使用。

由于CentOS 7附带的Apache版本不包含SSLOpenSSLConfCmd指令,所以我们必须手动将生成的文件附加到我们的自签名证书的末尾。为此,请键入:

cat /etc/ssl/certs/dhparam.pem | sudo tee -a /etc/ssl/certs/apache-selfsigned.crt

apache-selfsigned.crt文件应该同时具有证书和生成的Diffie-Hellman组。

接下来我们来设置证书:

使用root权限在文本编辑器中打开Apache的SSL配置文件:

sudo vi /etc/httpd/conf.d/ssl.conf

找到以<VirtualHost _default_:443>开头的部分。我们需要在此进行一些修改,以确保我们的SSL证书正确应用于我们的网站。


调整VirtualHost指令:

首先,取消对DocumentRoot行的注释,并将引号中的地址编辑到站点文档根目录的位置。默认情况下,这将在/ var / www / html中,如果您没有更改网站的文档根,则不需要更改此行。但是,如果遵循像Apache虚拟主机设置指南一样的指南,您的站点的文档根可能不同。接下来,取消对ServerName行的注释,并将www.example.com替换为您的域名或服务器IP地址(无论您将其作为您的证书中的常用名称):


(未完继续)原文链接:https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-apache-for-centos-7 (英文)

推荐文章:https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-centos-7 (英文)

推荐网站:http://tli-tli.com/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容