如何在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.