Mik*_*ke 1 ssl nginx flask nginx-location certbot
我有一个已启动并正在运行的 http 网站(带有 Flask 和 nginx)。我正在尝试使用 ssl 安装,certbot并按照他们的步骤操作会导致成功安装消息(恭喜...),但刷新我的网页会导致404 Not Found nginx/1.18.0 (Ubuntu). 这是nginx.conf之后的文件sudo certbot --nginx
server {
server_name www.mydomain.com;
location /static {
alias /home/ubuntu/adviser/flaskblog/static;
}
location / {
proxy_pass http://localhost:8000;
include /etc/nginx/proxy_params;
proxy_redirect off;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/www.mydomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.mydomain.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.mydomain.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name www.mydomain.com;
return 404; # managed by Certbot
}
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助。
首先,只需删除这一行:
return 404; # managed by Certbot
Run Code Online (Sandbox Code Playgroud)
这会导致返回 404 错误。
如果没有帮助,请更改整个此块:
server {
if ($host = www.mydomain.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name www.mydomain.com;
return 404; # managed by Certbot
}
Run Code Online (Sandbox Code Playgroud)
对此:
server {
listen 80;
server_name www.mydomain.com;
return 301 https://$host$request_uri;
}
Run Code Online (Sandbox Code Playgroud)
更新
另外,您可以尝试更改
return 301 https://$host$request_uri;
Run Code Online (Sandbox Code Playgroud)
到
return 301 https://www.yourdomain.com$request_uri;
Run Code Online (Sandbox Code Playgroud)
(由于一些奇怪的 StackOverflow 限制,我不得不替换mydomain为。)yourdomain
| 归档时间: |
|
| 查看次数: |
3131 次 |
| 最近记录: |