我有一台运行 Apache 和 Nginx 的 Ubuntu 20.04 服务器。我想使用 Certbot 添加 SSL 证书,但我不知道如何继续。
我的项目由 django api 和 Vue js 前端组成。Nginx 负责 API,apache 充当反向代理。
我的 Apache 000-default.conf 文件
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName ***.***.** <- My IP
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
</VirtualHost>
我的 Nginx 配置
upstream django {
server unix:///home/backend/mysite.sock;
}
server {
listen 8000;
server_name mysite.com;
charset utf-8;
client_max_body_size 75M;
location /media {
alias /home/backend/media;
}
location /static {
alias /home/backend/static;
}
location / {
uwsgi_pass django;
include /home/backend/uwsgi_params;
}
}
谢谢,如果有人告诉我如何使用此配置通过 Certbot 安装 SSL 证书
答案1
按照以下步骤使用 certbot 配置 SSL。
安装 certbot
sudo apt install python-certbot-apache
确保 DNS 记录指向您的服务器,然后生成证书
sudo certbot --apache -d domain.com -d www.domain.com
如果成功,它将产生以下输出并提示 http 到 https 重定向
请选择是否将 HTTP 流量重定向到 HTTPS,删除 HTTP 访问。 ---------------------------------------------------------------------------------------------- 1:不重定向 - 不再更改 Web 服务器配置。 2:重定向 - 将所有请求重定向到安全的 HTTPS 访问。对于新网站,或者如果您确信您的网站可以在 HTTPS 上运行,请选择此选项。您可以通过编辑 Web 服务器的配置来撤消此更改。 ---------------------------------------------------------------------------------------------- 选择适当的数字 [1-2],然后 [enter](按“c”取消):
- 根据您的需求选择适当的数字。完成后,它将自动在 Apache 中加载证书。