【问题标题】:using certbot-auto for nginx为 nginx 使用 certbot-auto
【发布时间】:2017-03-02 03:54:59
【问题描述】:

我有一个 nginx 正在运行。 现在我希望我的 nginx 使用 SSL:

certbot-auto --nginx -d my.domain.com -n --agree-tos --email admin@mail.com

输出:

Performing the following challenges:
tls-sni-01 challenge for my.domain.com
Cleaning up challenges
Cannot find a VirtualHost matching domain my.domain.com.

my.domain.com 指向我的服务器的 IP。这是它的dns名称。 我究竟做错了什么?我已经为 apache 做了这个,它工作正常。我的 nginx 正在运行(并且我无法在 certbot-auto 之后手动重新启动它,但是当我使用 certbot-auto --apache 时这不是必需的

【问题讨论】:

  • 错误是指您的 nginx 配置,而不是 DNS/IP 等。有 issues 与 nginx 配置解析器将被解决。
  • 你能发布你的 nginx 站点启用配置吗?如果您使用的是 Linux Ubuntu 服务器,则应该位于此处 -> /etc/nginx/sites-enabled/default

标签: ssl nginx lets-encrypt


【解决方案1】:

您可能在启用站点的文件夹中缺少一些服务器块(虚拟主机)文件。检查您的配置文件是否存在于/etc/nginx/sites-available 和 /etc/nginx/sites-enabled。如果它们不在启用站点的文件夹中,请为它们创建符号链接:

$ sudo ln -s /etc/nginx/sites-available/my.domain.com /etc/nginx/sites-enabled/

添加您的站点,检查配置错误并重新启动 nginx:

$ sudo certbot --nginx -d my.domain.com
$ sudo nginx -t
$ sudo service nginx restart

【讨论】:

    【解决方案2】:

    就我而言,我必须添加“server_name”行,因为它不在我的 nginx 配置中,所以当我运行时它给了我错误消息“找不到与域 my.domain.com 匹配的 VirtualHost”:

    certbot --nginx
    

    确保这在您的配置中:

    server {
        server_name my.domain.com;
        ....
    }
    

    【讨论】:

      猜你喜欢
      • 2019-04-19
      • 2017-04-28
      • 2021-10-05
      • 2019-01-28
      • 2019-08-02
      • 2021-03-01
      • 1970-01-01
      • 2020-10-18
      • 2016-09-29
      相关资源
      最近更新 更多