Nginx 域名绑定与 HTTPS 配置指南

绑定域名主要分为 DNS 解析Nginx 配置 两个环节。

第一步:设置 DNS 解析

你需要登录你的域名注册商后台(如阿里云、腾讯云、Cloudflare、GoDaddy 等):

  1. 找到 DNS 解析设置 (DNS Management)

  2. 添加两条记录:

    • A 记录 :主机记录填 @,记录值填你的 服务器公网 IP

    • A 记录 :主机记录填 www,记录值填你的 服务器公网 IP

  3. 等待解析生效(通常几分钟到几小时不等)。

第二步:修改 Nginx 配置文件

进入Nginx配置文件

bash 复制代码
sudo nano /etc/nginx/sites-available/default
# 或者 sudo vim /etc/nginx/conf.d/default.conf

将你的 server_name_ 修改为你的实际域名。

复制代码
server {
    listen 80;
    listen [::]:80;

    # 替换为你的真实域名
    server_name yourdomain.com [www.yourdomain.com](https://www.yourdomain.com);

    include /etc/nginx/mime.types;
    root /var/www/hardware-personal-website;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

修改完成后,执行以下命令使配置生效:

复制代码
sudo nginx -t
sudo systemctl reload nginx

第三步:配置 HTTPS (推荐)

为了安全和搜索引擎友好,建议使用 Let's Encrypt 申请免费的 SSL 证书。最简单的方法是使用 certbot

  1. 安装 Certbot

    复制代码
    sudo apt update
    sudo apt install certbot python3-certbot-nginx
  2. 获取并安装证书

    执行以下命令,Certbot 会自动修改你的 Nginx 配置并配置好 HTTPS 强制跳转:

    复制代码
    sudo certbot --nginx -d yourdomain.com -d [www.yourdomain.com](https://www.yourdomain.com)
  3. 按照提示操作

    • 输入你的邮箱(用于接收证书到期通知)。

    • 同意服务协议。

    • 选择是否将 HTTP 流量重定向到 HTTPS(建议选 2: Redirect)。

第四步:最终配置预览

Certbot 运行成功后,你的 Nginx 配置文件会自动变成类似这样:

复制代码
server {
    server_name yourdomain.com [www.yourdomain.com](https://www.yourdomain.com);
    root /var/www/hardware-personal-website;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/[yourdomain.com/fullchain.pem](https://yourdomain.com/fullchain.pem); # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/[yourdomain.com/privkey.pem](https://yourdomain.com/privkey.pem); # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = [www.yourdomain.com](https://www.yourdomain.com)) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = yourdomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    listen [::]:80;
    server_name yourdomain.com [www.yourdomain.com](https://www.yourdomain.com);
    return 404; # managed by Certbot
}

💡 常见问题

  • 防火墙 :确保你的服务器防火墙(如 ufw 或云控制台的安全组)已开启 80 (HTTP)443 (HTTPS) 端口。

  • 证书续期 :Certbot 默认会配置自动续期,你可以通过 sudo certbot renew --dry-run 测试。

相关推荐
Crazy________2 小时前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式
云飞云共享云桌面3 小时前
广东精密机械设备工厂8-10人共享一台SolidWorks设计服务器
运维·服务器·3d·自动化·汽车·制造
jieyucx3 小时前
【高级利用】条件竞争与逻辑漏洞:与服务器赛跑的艺术
android·运维·服务器·web安全·文件上传
tianyuanwo3 小时前
服务器OS组件研发效能度量可视系统——顶层方案设计与阶段性规划
运维·服务器·度量系统
黄华SJ520it4 小时前
二二复制定点裂变双轨商城系统开发:原理、架构与实战指南
运维·小程序·架构·系统开发
生活爱好者!4 小时前
NAS还能用来开视频会议?docker一键部署MiroTalk SFU
运维·docker·容器
xiaoxiangsiyan5 小时前
GitLab CI/CD 自托管(EE 企业版)+ Kubernetes Runner 集群 + ArgoCD(GitOps 部署)
运维·网络·ci/cd·容器·kubernetes·gitlab·argocd
深爱水瓶 血影S狂风5 小时前
函数调用过程探究
linux·运维·服务器
酷可达拉斯5 小时前
Linux操作系统-磁盘空间使用率100%如何处理?
linux·运维·服务器·云计算·bash
yuezhilangniao5 小时前
AI工具全家桶:从开发到运维,从数据库到产品经理-含魔塔社区简介
运维·数据库·人工智能