小编mga*_*lgs的帖子

让我们通过 SSL 重定向在 nginx 上使用 webroot 进行加密

我有一个nginx符合以下要求的网站:

  1. 重定向所有 http -> https
  2. 零停机时间 Let's Encrypt 证书更新

为了满足(1)我的配置中有一个小的 http->https 重定向nginx。为了满足 (2) 我需要修改上述配置,以便我可以使用 webroot Let's Encrypt 身份验证方法。

我试图找出满足这两个要求的最佳解决方案。我想出了以下方法,这很有效。

前:

server {
    listen 80;
    server_name example.com;
    return 301 https://example.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

后:

server {
    listen 80;
    server_name example.com;
    location ~ /\.well-known\/acme-challenge {
        root /usr/share/nginx/html;
        allow all;
    }
    if ($request_uri !~ /\.well-known) {
        return 301 https://example.com$request_uri;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望找到另一种方法。原因如下:

  1. 如果是邪恶的。在这种情况下可能不是什么大问题,因为这只是 http->https 重定向,应该是非常低的流量。

  2. 更重要的是,避免if将更容易将 webroot 身份验证绑定到我后面运行的所有站点,nginx因为我可以将该location指令放入 a 中.conf,然后我可以在我所有的 …

nginx lets-encrypt

4
推荐指数
1
解决办法
1430
查看次数

标签 统计

lets-encrypt ×1

nginx ×1