如何为非Route 53域名的AWS Lightsail实例配置HTTPS?
SSL证书部署方案说明
SSL证书不需要在OVH安装,OVH仅负责域名解析,证书部署需在Lightsail实例或Docker层面操作,推荐两种方案:
方案1:宿主机安装证书+反向代理(首选)
- 在Lightsail实例宿主机上用Certbot申请免费的Let's Encrypt证书
- 配置Nginx/Apache作为反向代理,实现HTTPS转发和HTTP自动跳转:
- 安装Certbot及对应插件,比如
apt install certbot python3-certbot-nginx(Debian/Ubuntu) - 运行
certbot --nginx,按照提示输入域名myDomain.com完成证书申请 - 修改Nginx配置,添加反向代理规则(将443端口请求转发到容器3000端口):
server { listen 443 ssl; server_name myDomain.com; ssl_certificate /etc/letsencrypt/live/myDomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myDomain.com/privkey.pem; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name myDomain.com; return 301 https://$host$request_uri; } - 重启Nginx服务,之后直接通过
https://myDomain.com访问应用,无需加端口3000 - 设置证书自动续期:添加
0 0 * * * certbot renew --quiet到crontab任务
- 安装Certbot及对应插件,比如
方案2:容器化反向代理管理证书
- 使用Traefik或带证书配置的Nginx容器,和你的应用一起部署:
- Traefik可自动向Let's Encrypt申请并续期证书,只需配置路由规则指向你的3000端口应用
- 优点是证书管理和应用部署一体化,适合多容器场景
必要前置操作
确保Lightsail实例的防火墙已开放443端口(在实例网络设置中添加HTTPS inbound规则)
内容的提问来源于stack exchange,提问作者Loraga
相关产品推荐
相关产品推荐

