部署 Web 服务

从 IP:端口 到域名访问: 部署 Web 服务的整指南

在开发和部署 Web 服务时,我们常常从在本地或服务器上运行一个监听特定端口的应用开始。但是,为了让用户更方便地访问,我们需要将这个 IP:端口 组合转换为一个易记的域名。本文将详细介绍这个过程,包括域名设置、SSL 证书配置和 Nginx 反向代理的设置。

步骤 1: 准备工作

  1. 一个运行中的 Web 服务 (本例中假设运行在 http://localhost:5001)

  2. 一个域名 (本例中使用 api.rui-nnovation.cool)

  3. 一个具有公网 IP 的服务器

  4. 对服务器的 root 或 sudo 访问权限

步骟 DNS 设置

  1. 登录您的域名注册商或 DNS 提供商的控制面板。

  2. 为您的域名添加一个 A 记录,指向您服务器的公地址。

    • 主机名: api

    • 类型: A

    • 值: 您服务器的公网 IP

步骤 3: 安装和配置 Nginx

  1. 安装 Nginx:

  2. 启动 Nginx 并设置为开机自启:

步骤 4: 配置 SSL 证书

我们将使用 Let's Encrypt 提供免费的 SSL 证书。

  1. 安装 Certbot:

  2. 获取并安装证书:

    按照提示完成证书的申请和安装。

  3. 如果证书过期了,使用

可以使用 acme.sh 进行证书更新:

这条命令将手动更新指定域名的 SSL 证书。

步骤 5: 配置 Nginx 反向代理

  1. 编辑 Nginx 配置文件:

  2. 用以下配置替换文件内容:

    这个配置做了以下几件事:

    • 将所有 HTTP 流量重定向到 HTTPS

    • 设置 SSL 证书

    • 将 HTTPS 请求代理到本地运行的服务 (127.0.0.1:5001)

  3. 保存文件并退出编辑器。

  4. 测试 Nginx 配置:

  5. 如试成功,重新加载 Nginx:

步骤 6: 防火墙设置

确保您的防火墙允许 HTTP (80) 和 HTTPS (443) 流量:

步骤 7: 验证

现在,您应该能够通过 https://api.rui-nnovation.cool 访问您的 Web 服务了。

Last updated