如何在 Ubuntu 12.04 的 nginx 上创建 SSL 证书如何在 Ubuntu 12.04 的 nginx 上创建 SSL 证书如何在 Ubuntu 12.04 的 nginx 上创建 SSL 证书如何在 Ubuntu 12.04 的 nginx 上创建 SSL 证书
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 12.04 的 nginx 上创建 SSL 证书

状态:已弃用

本文涵盖不再受支持的 Ubuntu 版本。如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

  • 升级到 Ubuntu 14.04。
  • 从 Ubuntu 14.04 升级到 Ubuntu 16.04
  • 将服务器数据迁移到支持的版本

原因:

请参阅:

关于自签名证书

SSL 证书是一种加密站点信息并创建更安全连接的方法。此外,该证书可以向站点访问者显示虚拟专用服务器标识信息。证书颁发机构可以颁发 SSL 证书来验证服务器的详细信息,而自签名证书没有第三方证实。

设置

本教程中的步骤要求用户具有 root 权限。您可以在初始服务器设置教程的第 3 步和第 4 步中了解如何进行设置。

此外,您需要在 VPS 上安装并运行 nginx。如果不是这种情况,您可以使用以下命令下载它:

sudo apt-get install nginx

第一步——为证书创建一个目录

SSL证书有两部分主要部分:证书本身和公钥。为了使所有相关文件易于访问,我们应该创建一个目录来存储它们:

 sudo mkdir /etc/nginx/ssl

我们将在目录中执行接下来的几个步骤:

 cd /etc/nginx/ssl

第二步——创建服务器密钥和证书签名请求

首先创建私人服务器密钥。在此过程中,系统会要求您输入特定密码。请务必仔细记下这句话,如果忘记或丢失,将无法获取证书。

sudo openssl genrsa -des3 -out server.key 2048

通过创建证书签名请求跟进:

sudo openssl req -new -key server.key -out server.csr

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

最重要的一行是“Common Name”。在这里输入您的官方域名,或者,如果您还没有,请输入您网站的 IP 地址。将挑战密码和可选的公司名称留空。

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

第三步——删除密码

我们几乎完成了证书的创建。但是,它可以帮助我们删除密码。尽管设置密码短语确实可以提高安全性,但当您尝试重新加载 nginx 时,问题就开始了。如果 nginx 崩溃或需要重新启动,您将始终必须重新输入密码才能使整个 Web 服务器恢复在线。

使用此命令删除密码:

sudo cp server.key server.key.org
sudo openssl rsa -in server.key.org -out server.key

第四步——签署您的 SSL 证书

您的证书几乎已经完成,您只需在上面签名即可。

 sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

您现在已完成制作证书。

第五步——设置证书

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

让我们使用与标准虚拟主机文件相同的默认文本和布局创建新文件。您可以将命令中的 \example\ 替换为您喜欢的任何名称:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example

然后继续打开那个新文件:

 sudo nano /etc/nginx/sites-available/example

向下滚动到文件底部,找到以此开头的部分:

# HTTPS server

server {
        listen 443;
        server_name example.com;

        root /usr/share/nginx/www;
        index index.html index.htm;

        ssl on;
        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key; 
}

在 HTTPS 服务器行下的部分中取消注释。将您的配置与上述信息相匹配,将 \server_name\ 行中的 example.com 替换为您的域名或 IP 地址。随后,为您的站点添加正确的目录(以上配置包括默认的 nginx 页面)。

此外,确保这两行都在文件开头的行中被注释掉:

# Make site accessible from http://localhost/
# server_name localhost;

第六步——激活虚拟主机

最后一步是通过在站点可用目录和站点启用目录之间创建符号链接来激活主机。

 sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/example

然后重启nginx:

 sudo service nginx restart

访问 https://你的地址

您将在该页面上看到您的自签名证书!

查看更多

在站点上设置 SSL 证书后,如果尚未安装 FTP 服务器,则可以安装。

资源

  • http://wiki.nginx.org/HttpSslModule#Generate_Certificates

©2015-2025 艾丽卡 support@alaica.com