當我在搜索的域名中沒有 www 的情況下查找我的域時,我收到 404 Not Found nginx/1.18.0 (Ubuntu) 錯誤。它找到了 nginx,所以它顯然找到了我的服務器,但我找不到沒有 www 就無法加載 gunicorn 的人。我的名稱服務器都指向寫入 IP 地址,左側有我的域名的那些是我將其留空或在欄位中輸入 @ 的位置。我已經閱讀了我用來確保我已經完成每一步的指南,是否有一些我可能搞砸的配置?
我的錯誤日志/var/log/nginx沒有顯示任何相關內容,我的日志也沒有,/var/log/webapp所以我無法弄清楚為什么 gunicorn 不會在沒有 www 的情況下加載
我發現它可能與我在 nginx 本身中的組態檔有關,所以這是我的/etc/nginx/sties-enabled/webapp
server {
server_name www.websitename.com;
location /static {
alias /home/sai/webapp/website/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.websitename.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.websitename.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.websitename.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name www.websitename.com;
return 404; # managed by Certbot
}
我發現我的錯誤可能是 certbot 只是將www.websitename.com重定向到 https,所以我將嘗試弄清楚如何將 websitename.com 添加到其中,因為如果添加另一個 if under 會使我的 nginx 無法重新啟動
uj5u.com熱心網友回復:
將此作為您的 conf 然后運行sudo certbot --nginx -d websitename.com -d www.websitename.com,它應該為您的域和作業創建 ssl 證書
server {
server_name websitename.com www.websitename.com;
location /static {
alias /home/sai/webapp/website/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.websitename.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.websitename.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
}```
uj5u.com熱心網友回復:
因此,如果您看這里,他們會在單獨的服務器塊中執行所有操作。我對他們的代碼和我的代碼之間的差異感到不舒服,我不完全理解差異意味著什么,所以任何評論或其他答案都會有所幫助,但這應該按照檔案格式為您解決。只需將其添加到底部
server {
if ($host = websitename.com) {
return 301 https://$host$request_uri;
} #managed by Certbot
listen 80;
server_name websitename.com;
return 404;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/454244.html
下一篇:PythonFor回圈不遍歷目錄
