【问题标题】:Let's Encrypt with uWSGI让我们用 uWSGI 加密
【发布时间】:2017-10-17 17:00:00
【问题描述】:

我正在尝试关注 these instructions here 为我的域安装 SSL 证书。但是,这些说明似乎假设 nginx 是唯一的服务器。我将 nginx 与 uwsgi 一起使用。我都是新手。我不相信 uwsgi 有“webroot”(?)。

我的 django 应用程序来自 /home/me/myapp。我在那里创建了.well-known 目录,如下所示:/home/me/myapp/.well-known

使用这个命令:

sudo certbot certonly --webroot --webroot-path=/home/me/myapp -d myappdomain.com -d www.myappdomain.com

我收到此错误:

   Domain: www.myappdomain.com
   Type:   unauthorized
   Detail: Invalid response from
   http://www.myappdomain.com/.well-known/acme-challenge/HOjaeQfDlYQzAYfwGLltammjg6kMnwChV-Bc9BL2bSA:

如果我在 NGINX 后面有 uWSGI,我如何正确地为 .well-known 目录提供服务?

【问题讨论】:

    标签: django ssl nginx uwsgi lets-encrypt


    【解决方案1】:

    NGINX 可以配置为 serve.well-known,这样就无需关心使用 uWSGI 或其他代理服务器进行服务。

    此配置会有所帮助。它侦听 80 端口并从位置根提供.well-known 文件,这与 certbot 的 webroot 插件相同。其他请求将被重定向到需要的域的 HTTPS。

    server {
        listen 80;
        server_name myappdomain.com www.myappdomain.com;
    
        location /.well-known/ {
            root /home/me/myapp;
            break;
        }
    
        location / {
            return 301 https://$server_name$request_uri;
        }
    }
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我就是这样解决的。

      location /.well-known {
          alias /home/user/webapp/.well-known;
      }
      

      在我的服务器.well-known 位于/var/www/html/.well-known 所以,在我的nginx 配置文件中

      location /.well-known {
          alias /var/www/html/.well-known;
      }
      

      通过sudo find / -type d -name '.well-known'验证.well-known的位置

      【讨论】:

        猜你喜欢
        • 2016-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-27
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 2016-08-10
        相关资源
        最近更新 更多