使用 Nginx 和 Apache 的 SSL 证书

使用 Nginx 和 Apache 的 SSL 证书

我有一台运行 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。

  1. 安装 certbot

    sudo apt install python-certbot-apache
    
  2. 确保 DNS 记录指向您的服务器,然后生成证书

    sudo certbot --apache -d domain.com -d www.domain.com
    
  3. 如果成功,它将产生以下输出并提示 http 到 https 重定向

请选择是否将 HTTP 流量重定向到 HTTPS,删除 HTTP 访问。 ---------------------------------------------------------------------------------------------- 1:不重定向 - 不再更改 Web 服务器配置。 2:重定向 - 将所有请求重定向到安全的 HTTPS 访问。对于新网站,或者如果您确信您的网站可以在 HTTPS 上运行,请选择此选项。您可以通过编辑 Web 服务器的配置来撤消此更改。 ---------------------------------------------------------------------------------------------- 选择适当的数字 [1-2],然后 [enter](按“c”取消):

  1. 根据您的需求选择适当的数字。完成后,它将自动在 Apache 中加载证书。

相关内容