你可以承载多个 SSL 证书上使用服务器名称识别 (SNI) 的一个 IP 地址。
关于 SNI
虽然主办的几个网站单一的虚拟专用服务器,不是一个使用虚拟主机的挑战,传统上为每个站点提供单独的 SSL 证书需要单独的 IP 地址。这一进程最近简化了使用服务器名称指示 (SNI),将网站访问者发送请求的服务器名称匹配的证书。
注:
SNI 仅可用于服务从您的 web 服务器的多个 SSL 站点并不倾向于工作在所有其他的守护进程,例如邮件服务器等。也有少数较旧的 web 浏览器仍会出现证书错误。维基百科已更新的软件,并不支持该 TLS 扩展列表。
设置
SNI 不必注册了域名,为了服务证书。
在本教程中的步骤都需要用户拥有根权限。您可以看到如何设置初始服务器安装教程在步骤 3 和 4 中。
Nginx 应该已经是你的 VPS 上安装和运行。
如果情况并非如此,您可以下载使用此命令:
sudo apt-get 来安装 nginx
你可以确保您的服务器上启用了 SNI:
nginx-V
后显示 nginx 版本,您应该看到的行:
启用 TLS SNI 支持
第一步 — — 创建 SSL 证书目录
对于本教程的目的,两个证书将是自签名。我们将致力于创建一个承载最经典和 example.org 的服务器。
SSL 证书已 2 部件主要部件: 本身的证书和公钥。要使所有的相关文件易于访问,我们应该创建一个目录为每个虚拟主机的 SSL 证书。
mkdir-p /etc/nginx/ssl/example.com
mkdir-p /etc/nginx/ssl/example.org
第二步 — — 创建服务器密钥和证书签名请求
首先,创建最经典的 SSL 的证书。
切换到正确的目录:
cd /etc/nginx/ssl/example.com
首先创建私人服务器密钥。在此过程中,将要求您输入一个特定的密码短语。一定要小心注意这句话,如果你忘记它或者失去它,你将不能够访问该证书。
sudo openssl genrsa-des3-出 > 1024年
通过创建证书签名请求跟进:
sudo openssl 必需-新-关键 >-出 server.csr
此命令将提示终端显示需要填写的字段列表。
最重要的线是”公用名称”。请输入您正式的域名,或如果你没有,你的网站的 IP 地址。将挑战密码和可选的公司名称保留为空。
你将被要求输入信息将纳入
入您的证书申请。
您将要输入是什么叫做一个可分辨名称或 DN。
有相当多的字段,但您可以留一些空白
对于一些字段,将有一个默认值,
如果您输入 ‘.’,会将字段留为空白。
—–
国家名称 (2 字母代码) [金]: 美国
国家或省名称 (全称) [一些状态]: 纽约
地点名称 (例如,市) []: 纽约
组织名称 (如公司) [互联网 Widgits Pty 有限公司]: 太棒了公司
组织单位的名称 (例如,部分) []: 欢乐部
常见的名称 (例如服务器 FQDN 或你的名字) []: 链接
电子邮件地址 []:[email protected]
第三步 — — 删除密码
我们就几乎完成了创建的证书。然而,它将成为我们要删除密码。虽然在地方有密码并提供警戒,这一问题开始当人们试图加载 nginx。事件,nginx 崩溃,或需要重新启动,你总是要重新输入你的密码,让您的整个 web 服务器重新联机。
使用此命令可以删除密码:
sudo cp > server.key.org
sudo openssl rsa-在 server.key.org-出 >
第四步 — — SSL 证书进行签名
几乎完成了您的证书,和你只需要签署它。
请记住,您可以指定多长时间该证书应保持有效通过改变 365 天你喜欢的数目。按照现在这个证书过期后一年。
sudo openssl x 509 必需-server.csr-signkey > 365-在天-出 server.crt
现在您已经完成制作证书为您的第一个主机。
若要创建第二个证书,请切换到第二个目录:
cd /etc/nginx/ssl/example.org
对于第二个证书重复前面的三个步骤。一旦两个都弄好,你可以开始将证书添加到您的虚拟主机上。
第五步 — — 创建虚拟的主机
一旦证书保存和准备好后,您可以添加您虚拟宿主文件中的信息。
虽然它不是必需,我们可以创建两个虚拟的主机文件来存储虚拟主机中分离
Leave a Reply