如何使用nginx部署https网站(亲测可行)

公司本来有网站sqlynx.com是http运行的,但因为产品出海,基本上都要求使用https,但又需要兼容已有的http服务,所以我自己尝试做了一次https的部署,目前是正常可用的。

目录

[步骤 1:安装 Nginx](#步骤 1:安装 Nginx)

[步骤 2:获取 SSL 证书](#步骤 2:获取 SSL 证书)

[步骤 3:手动配置 Nginx](#步骤 3:手动配置 Nginx)

[步骤 4:测试 Nginx 配置](#步骤 4:测试 Nginx 配置)

[步骤 5:验证 HTTPS 部署](#步骤 5:验证 HTTPS 部署)

结语


有兴趣的同学也可以拿我们的线上网站sqlynx.com进行一下测试,http和https都是可以支持的。

使用 Nginx 部署 HTTPS 是确保网站安全的一项重要措施。

以下是如何使用 Nginx 部署 HTTPS 的详细步骤,包括获取 SSL 证书、配置 Nginx 和测试配置。

步骤 1:安装 Nginx

如果尚未安装 Nginx,请先安装 Nginx。

在 Debian/Ubuntu 系统上:

bash 复制代码
sudo apt update
sudo apt install nginx

在 CentOS/RHEL 系统上:

bash 复制代码
sudo yum install epel-release
sudo yum install nginx

步骤 2:获取 SSL 证书

因为我们的网站是部署在腾讯云上的,原来腾讯云是一次可以申请一年的免费证书,从2024年4月25日起只能3个月了,这个确实太恶心了。

主要是不想折腾了,花了99元一年买了一年的证书服务。

具体的证书购买方式就不描述了,有钱买证书哪都可以,以下是我们购买证书的地方。

步骤 3:手动配置 Nginx

如果你已经有 SSL 证书文件(例如从其他 CA 获取的证书),可以手动配置 Nginx。

将你的 SSL 证书文件和私钥文件上传到服务器。通常,它们存放在 /etc/ssl/certs//etc/ssl/private/ 目录中。

编辑 Nginx 配置文件。打开你的网站配置文件(例如 /etc/nginx/sites-available/default/etc/nginx/nginx.conf),并添加如下内容:

  1. listen 443 ssl 这行可以让http和https都可以使用

  2. ssl_certificate /etc/ssl/certs/yourdomain.com.crt;

ssl_certificate_key /etc/ssl/private/yourdomain.com.key;

上面两行是主要的证书的配置,其他的没发现什么需要注意的。

bash 复制代码
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    # Redirect HTTP to HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate /etc/ssl/certs/yourdomain.com.crt;
    ssl_certificate_key /etc/ssl/private/yourdomain.com.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

步骤 4:测试 Nginx 配置

在重新加载 Nginx 之前,先测试配置文件是否有语法错误:

bash 复制代码
sudo nginx -t

如果配置正确,重新加载 Nginx:

bash 复制代码
sudo systemctl reload nginx

步骤 5:验证 HTTPS 部署

打开浏览器,访问 https://www.sqlynx.com,确保网站通过 HTTPS 正常加载,并且 SSL 证书有效。

结语

通过以上步骤,你应该已经成功地在 Nginx 上部署了 HTTPS。使用 HTTPS 可以有效地保护用户数据,提升网站的安全性和可信度。如果你有更多的定制需求,可以参考 Nginx 官方文档进行进一步的配置和优化。

相关推荐
小蒜学长10 分钟前
vue旅游攻略网站(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端·旅游
Wang's Blog33 分钟前
PostgreSQL笔记50: 基于PGVECTOR的实时推荐与搜索系统构建
笔记·postgresql
山甫aa41 分钟前
JavaWeb后端开发学习手册
java·开发语言·数据库·学习·mysql·springboot·web
JavaPub-rodert1 小时前
MongoDB 常用命令和常见问题大全
数据库·mongodb
Dovis(誓平步青云)2 小时前
从Redis指标采集到异常告警:redis_exporter + Prometheus 完整实战
服务器·数据库·人工智能·redis·架构·prometheus·vibe coding
城管不管10 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头10610 小时前
向量数据库从相似度检索走向融合数据底座
数据库
Jimmy_jimi11 小时前
利用nginx代理完成url重定位
运维·nginx
今天AI了吗11 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
lilian23313 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos