如何在Apache上为Debian7创建SSL证书

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

背景资料


SSL 证书是一种加密站点信息并创建更安全连接的方法。 虽然证书颁发机构可以颁发 SSL 证书来验证服务器的详细信息,但自签名证书没有第三方证实。 本教程介绍了如何创建自签名 SSL 证书,将其添加到您的 VPS,并配置 SSL 文件以向全世界显示证书。

1)安装阿帕奇


如果 Apache 尚未在您的服务器上运行,这是一个 Apache httpd 包,可随时用于 aptitude,名称为 apache2

运行以下命令进行安装:

 sudo apt-get install apache2

要测试软件包是否已正确安装,请在浏览器中输入您的 VPS IP 地址。 如果安装成功,浏览器将显示以下内容:

It works!

This is the default web page for this server.
The web server software is running but no content 
has been added, yet.

2)配置httpd


我们需要配置 httpd 以支持 SSL。 它作为 apache2-common 包的一部分在 httpd 安装中可用。

使用以下命令启用 SSL:

 sudo a2ensite default-ssl
 sudo a2enmod ssl

这一次,如前所述,让我们重新启动 Apache2:

 sudo service apache2 restart

为了测试模块是否正确安装,我们将像以前一样在浏览器中输入我们的 IP 地址; 但是,这次我们将使用 https://。 在您的浏览器中使用您的 IP 地址。

第一次访问该页面时,浏览器会警告您该站点的证书不受信任。 您可以继续,您将进入与以前相同的页面:

It works!

This is the default web page for this server.
The web server software is running but no content has been added,   
yet.

3) 生成自签名证书


要使用自签名证书,必须安装包 ssl-cert

我想为服务器配置我自己的自签名证书并将其存储在 /etc/apache2/ssl 中。 为此,请运行以下命令:

sudo mkdir /etc/apache2/ssl

当我们请求新证书时,我们可以通过将 365 更改为我们喜欢的天数来指定证书应保持有效的时间。 目前,该证书将在一年后到期。

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

使用此命令,我们将创建自签名 SSL 证书和保护它的服务器密钥,并将它们都放入新目录中。

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

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

<pre>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]:<span class="highlight">US</span>
State or Province Name (full name) [Some-State]:<span class="highlight">New York</span>
Locality Name (eg, city) []:<span class="highlight">NYC</span>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<span class="highlight">Awesome Inc</span>
Organizational Unit Name (eg, section) []:<span class="highlight">Dept of Merriment</span>
Common Name (e.g. server FQDN or YOUR name) []:<span class="highlight">example.com      </span>            
Email Address []:<span class="highlight">webmaster@awesomeinc.com</span></pre><br/>

4) 设置证书


现在我们有了完成证书所需的所有组件。接下来要做的是设置虚拟主机以显示新证书。

打开 SSL 配置文件:

nano /etc/apache2/sites-available/default-ssl

在以 默认 :443>,快速进行以下更改。

在服务器管理员电子邮件下方添加一行包含您的服务器名称:

ServerName example.com:443

example.com 替换为您的 DNS 批准的域名或服务器 IP 地址(应与证书上的通用名称相同)。

找到以下三行,并确保它们与以下扩展名匹配:

 SSLEngine on
 SSLCertificateFile /etc/apache2/ssl/apache.crt
 SSLCertificateKeyFile /etc/apache2/ssl/apache.key

保存并退出文件。

5)激活新的虚拟主机


在激活 443 端口上的网站之前,我们需要启用该虚拟主机:

sudo a2ensite default

你都准备好了。 重新启动 Apache 服务器将重新加载所有更改。

sudo service apache2 reload

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

看更多


Once you have setup your SSL certificate on the site, you can [[“%3Ca|how-to-set-up-vsftpd-on-ubuntu-12-04]]”>Install an FTP server if you haven’t done so yet.

亚当·拉格雷卡