如何在ArchLinux上的Apache上创建SSL证书

来自菜鸟教程
跳转至:导航、​搜索

关于自签名证书

SSL 证书是一种加密站点信息并创建更安全连接的方法。 此外,证书可以向站点访问者显示虚拟专用服务器的标识信息。 证书颁发机构可以颁发 SSL 证书来验证服务器的详细信息,而自签名证书没有第 3 方证实。

设置

本教程中的步骤要求用户在 VPS 上具有 root 权限。 您可以在步骤 3 和 4 中的 初始服务器设置 中查看如何设置。

此外,您需要在虚拟服务器上安装并运行 apache。 如果不是这种情况,您可以使用以下命令下载它:

sudo pacman -Syu
sudo pacman -S apache

第一步——切换到 Apache Config 目录

第一步是进入主 apache 配置目录。 所有后续步骤都将在目录中进行:

cd /etc/httpd/conf

第二步——创建自签名 SSL 证书

首先创建 1024 rsa 私钥。 “-des3”选项表示需要密码。 尽管设置密码确实提供了更高的安全性,但当人们尝试重新加载 apache 时,问题就开始了。 如果 apache 崩溃或需要重新启动,您将始终需要重新输入密码才能让整个 Web 服务器重新联机。

sudo openssl genrsa -des3 -out server.key 1024

现在是创建证书签名请求的时候了。 如果您在上一步中设置了密码,则在此步骤中也会提示您输入:

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

该命令将提示终端显示需要填写的字段列表。

最重要的一行是“通用名称”。 在此处输入您的官方域名,或者,如果您还没有,请输入您网站的 IP 地址。

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:NYC
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc
Organizational Unit Name (eg, section) []:Dept of Merriment
Common Name (e.g. server FQDN or YOUR name) []:example.com                  
Email Address []:webmaster@awesomeinc.com

最后,删除密码:

sudo cp server.key server.key.org
sudo openssl rsa -in server.key.org -out server.key

最后通过将 365 更改为您喜欢的天数来指定证书应保持有效的时间。 目前,该证书将在一年后到期。

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

第三步——完成

您的证书已创建并签名。 您只需确保 apache 将其包含在其配置中。 继续打开主 apache 配置文件:

sudo nano /etc/httpd/conf/httpd.conf

在那里,取消注释以下行:

Include conf/extra/httpd-ssl.conf

重新启动 apache 以使您的更改生效:

sudo systemctl restart httpd

在您的浏览器中,输入 https://youraddress,您将能够看到新的自签名证书。

埃特尔·斯维尔德洛夫