配置 HTTPS

要启用 SSL,可以使用反向代理。本文以 Nginx 为例。

安装 Nginx

sudo apt-get install nginx

创建证书

本文档假定你已经拥有域名的证书。

你可以选择使用 Cloudflare,或使用 Let's Encrypt / Certbot 生成证书。

将证书添加到以下路径:/etc/key.pem/etc/cert.pem

配置 Nginx

sudo nano /etc/nginx/sites-available/default
server {
    listen 80;
    listen [::]:80;

    server_name example.com www.example.com;

    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name example.com www.example.com;

    ssl_certificate /etc/cert.pem;
    ssl_certificate_key /etc/key.pem;

    location / {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

重启 Nginx

sudo systemctl restart nginx

测试

访问你的域名,应该可以看到应用程序已通过 SSL 运行。