Duk*_*ver 7 nginx linode lets-encrypt
我有一个 nginx 服务器,它给我一个错误,我找不到任何信息。服务器已启动并正在运行,我相信底层站点(Flask 应用程序)也在运行,但客户端收到通用 500 错误。当我查看时/var/log/nginx/error.log,我看到了这个:
2022/09/04 04:59:52 [error] 1523#1523: *1 connect() failed (111: Unknown error) while connecting to upstream, client: [clients ip], server: mysite.com, request: "GET / HTTP/1.1", upstream: "http://[::1]:8000/", host: "mysite.com"
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办。我四处搜索,找不到任何有关如何深入挖掘或在哪里寻找解决问题的信息。
我正在 Linode 上的 Ubuntu 上运行服务器,并且想要升级操作系统。为此,我使用最新版本的 Ubuntu (22.04) 启动了一个新的 Linode,并从头开始重新创建了服务器。安装完所有内容后,我交换了新旧服务器的 IP 地址,以避免重做 DNS 记录。我正在使用 CertBot 来管理 https 证书,因此我再次运行它,然后重新启动一切。
此时,nginx 已启动并运行,并且对我的配置感到满意。一切看起来都和旧服务器上的一样。但每次请求都是500,并出现上面的错误。
非常感谢任何帮助/指示让我回到工作状态!
server {
server_name = www.mysite.com;
return 301 $scheme://mysite.com$request_uri;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
server_name mysite.com;
location ^~ /static/ {
include /etc/nginx/mime.types;
root /home/my_username/path/to/code/;
}
location / {
proxy_pass http://localhost:8000;
include /etc/nginx/proxy_params;
proxy_redirect off;
proxy_read_timeout 300s;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.mysite.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = mysite.com) {
return 301 https://$host$request_uri;
} # Manually added by me
server_name = mysite.com;
listen 80;
return 404; # managed by Certbot
}
Run Code Online (Sandbox Code Playgroud)
啊。我是一个假人。这不是 nginx 错误。
我在 Flask 站点中配置了一些错误,导致它抛出 500 个错误。由于配置错误,它们没有被记录到正确的文件中,所以我没有意识到这是问题所在。修复了 Flask 配置,服务器恢复正常。
发布我的愚蠢行为,以防它对任何遇到相同 nginx 错误的未来搜索者有所帮助。
| 归档时间: |
|
| 查看次数: |
14236 次 |
| 最近记录: |