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

SSL证书是加密网站信息并创建更安全连接的一种方式。虽然证书颁发机构可以颁发验证服务器详细信息的SSL证书,但自签名证书没有第三方佐证。这个

背景信息


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

1)安装Apache


如果Apache尚未在服务器上运行,这是一个Apache httpd软件包一应俱全的名称下的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。 它在httpd安装中作为apache2-common包的一部分提供。

使用以下命令启用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证书必须安装。

我想为服务器配置自己的自签名证书,并将其存储在/ 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

在与&ltVirtualHost 默认开始部分: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 ,你将能够看到新的证书。

查看更多


一旦你在网站上已经安装到SSL证书后,就可以安装FTP服务器 ,如果你还没有这样做呢。

作者Adam LaGreca