我有一个 Nginx 后端服务器,该服务器具有 Let's Encrypt 证书。现在,我想添加一个 Nginx 反向代理并为其创建 Let's Encrypt 证书。当我尝试访问http://jcp-connect.fr/.well-known/acme-challenge/测试,它返回 404 状态。
首先,我创建了一个 webroot:
mkdir -p /var/www/jcp/.well-known/acme-challenge
- 创建文件进行测试
echo "nginx is awesome!" > /var/www/jcp/.well-known/acme-challenge/test.html
在我的 Nginx 代理配置文件 `/etc/nginx/sites-available/reverse 中我设置了以下内容:
server {
listen 80;
listen [::]:80;
server_name jcp-connect.fr;
index index.htm index.html;
location /.well-known/acme-challenge {
root /usr/share/nginx/html;
}
location / {
try_files $uri/index.html $uri.html $uri @backend;
}
location @backend {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://jcp-connect.fr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 900s;
}
}
我的 Nginx 后端服务器有一个 IP@ 192.168.1.45,它位于另一个不同的主机上。
答案1
很抱歉,这是一个拼写错误,我忘了在这篇文章中修改它,但在我的代码中没问题:mkdir -p /usr/share/nginx/html/.well-known/acme-challenge 创建文件进行测试 echo "nginx is awesome!" > /usr/share/nginx/html/.well-known/acme-challenge/test.html