从本地到实时:使用 SSL 在 AWS 上部署我的登陆页面

大家好,开发者社区!今天,我很高兴与大家分享我在 AWS EC2 上部署登陆页面的历程,其中包括 SSL 认证和自定义域。让我们深入了解从服务器配置到最终部署的详细过程。

项目概况

我使用 HTML、CSS 和 JavaScript 创建了一个登录页面,所有这些都包含在一个文件中。目标是将其安全地部署在 AWS EC2 上,并使其可以通过 HTTPS 访问。以下是我实现这一目标的方法。

AWS EC2 上的服务器配置

第一步是设置服务器基础设施:

  • 创建 EC2 实例 登录到 AWS 管理控制台 选择 Ubuntu Server 22.04 LTS 作为 AMI 选择 t2.micro 实例类型(非常适合免费套餐!) 设置安全组以允许端口上的入站流量:端口 80(HTTP)端口 443(HTTPS)端口 22(SSH)
  • 服务器访问使用我的密钥对通过 SSH 连接到服务器使用命令:ssh -i my-aws-key.pem ubuntu@3.84.13.68 使用 sudo -i 提升到 root 权限以便于管理
  • 设置Web服务器

    下一个关键步骤是安装和配置 Apache:

  • Apache 安装 更新服务器软件包 安装 Apache Web 服务器 通过检查 Apache 状态验证安装 启用 Apache 在启动时自动启动
  • 项目部署 为项目创建专用目录 从 GitHub 下载项目文件 安装必要的工具(如 unzip) 将文件移动到 Apache 的根目录 重新启动 Apache 以应用更改
  • 域配置和 SSL 设置

    这部分非常令人兴奋——使网站安全和专业:

  • 域名设置从 name.com 购买域名“osagieanolu.engineer”将我的 EC2 实例的 IP 地址链接到该域名设置正确的 DNS 记录
  • SSL 证书安装 安装了 Snapd 包管理器 使用 Certbot 生成 SSL 证书 配置自动证书续订 设置 cron 作业,每天检查两次续订
  • 秘诀:Certbot 配置

    SSL 设置特别有趣。Certbot 使该过程变得出奇的简单:

  • 安装过程通过 Snap 安装 Certbot 使用 Apache 插件进行自动配置按照交互式提示进行域验证
  • 自动化设置 配置自动续订 验证证书安装 设置静默续订流程以避免通知垃圾邮件
  • 挑战与解决方案

    在部署过程中,我面临着几个挑战:

  • 权限问题最初困扰着 /var/www/html/ 中的文件权限,通过正确设置所有权和访问权限解决了该问题
  • DNS 传播 必须等待 DNS 更改传播 使用 DNS 查找工具来验证更改
  • Apache 配置需要调整 Apache 的默认配置,确保为 SSL 设置正确的虚拟主机
  • 最终结果

    Image description

    部署成功!

    关键要点

    这个项目教会了我几个宝贵的经验:

  • 始终提前规划制定清晰的部署策略可以节省时间记录每个步骤以供将来参考
  • 安全第一 SSL 对于现代 Web 应用程序至关重要 定期更新证书至关重要
  • 监控很重要 定期检查服务器状态 监控 SSL 证书过期情况
  • 下一步

    我正在考虑的未来改进:

  • 设置 CDN 以获得更好的性能
  • 实施服务器监控工具
  • 添加备份自动化
  • 优化 Apache 配置以获得更好的性能
  • 对于那些跟随

    如果您计划进行类似的部署,请参考以下提示:

  • 仔细检查所有安全组设置
  • 确保 SSH 密钥安全
  • 记录您的服务器配置
  • 彻底测试您的 SSL 设置
  • 结论

    使用 SSL 在 AWS 上部署登录页面乍一看似乎很困难,但将其分解为几个步骤就变得容易管理。AWS EC2、Apache 和 Certbot 的组合为托管安全的 Web 应用程序提供了坚实的基础。

    您最近在 AWS 上部署过任何项目吗?您面临哪些挑战?让我们在下面的评论中讨论一下!