背景信息
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服务器 ,如果你还没有这样做呢。