nginx 证书要添加什么文件

nginx 证书要添加什么文件

我有一个 RaspberryPi,我想在上面托管 Owncloud。所以我跟着本教程除了 SSL 部分之外,它运行良好。我不想使用自签名。
我设置了自己的子域,它无需 SSL 即可运行,即使在我的家庭网络之外也可以运行。我没有尝试自签名证书。

我使用的命令创建了证书(可以在这个教程):

sudo openssl req -new -newkey rsa:4096 -nodes -out /etc/nginx/cert/my_example_com.csr -keyout /etc/nginx/cert/my_example_com.key -subj "/C=NL/ST=none/L=none/O=none/OU=none/CN=my.example.com"

文件

  • /etc/nginx/cert/my_example_com.csr
  • /etc/nginx/cert/my_example_com.key

在 nginx 中:/etc/nginx/站点可用/默认

## other stuff from tut
server {
    listen 80;
    server_name my.example.com;
    return 301 https://$server_name$request_uri; # enforce http
}

server {
    listen 443 ssl;
    server_name my.example.com;

    ssl_certificate /etc/nginx/cert/my_example_com.csr;
    ssl_certificate_key /etc/nginx/cert/my_example_com.key;
## other stuff from tut

在我提交.csr内容 我向我的网络托管商收到了一个包含 3 个文件的 zip 文件:

  • my_example_com.cert
  • CA_Root证书
  • CA_中间证书

我尝试了所有 3 个文件的ssl_certificate值,但它们不起作用。
所以我用谷歌搜索并找到多个来源说我需要按某种顺序合并这些文件。(来源来源来源

但在我的例子中,文件名都有点不同,这很令人困惑。
有些资料谈到了.crt文件,有些谈到了.pem,但我得到的是.cert。文件扩展名是否重要?

有人知道我应该如何设置(/合并?)这些文件才能让我的网站在 ssl 上运行吗?
注意:这是我第一次使用 nginx 或 ssl-certificates

答案1

尝试这个:配置 HTTPS 服务器 - SSL 证书链

    $ cat www.example.com.crt bundle.crt > www.example.com.chained.crt

The resulting file should be used in the ssl_certificate directive:

    server {
        listen              443 ssl;
        server_name         www.example.com;
        ssl_certificate     www.example.com.chained.crt;
        ssl_certificate_key www.example.com.key;
        ...
    }

答案2

主要故障是 ISP 的调制解调器。之后我发现是:

sudo cat my_example_com.cert CA_Intermediate.cert CA_Root.cert >> bundle.cert

主要建议这里

相关内容