nginx部署https网站的实现步骤(亲测)

 更新时间:2025年02月13日 10:13:43   作者:chat2tomorrow  
本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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

步骤 1:安装 Nginx

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

在 Debian/Ubuntu 系统上:

sudo apt update
sudo apt install nginx

在 CentOS/RHEL 系统上:

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;

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

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 之前,先测试配置文件是否有语法错误:

sudo nginx -t

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

sudo systemctl reload nginx

步骤 5:验证 HTTPS 部署

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

结语

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

到此这篇关于nginx部署https网站的实现步骤(亲测)的文章就介绍到这了,更多相关nginx部署https内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx优化服务之网页压缩的实现方法

    Nginx优化服务之网页压缩的实现方法

    这篇文章主要介绍了Nginx优化服务之网页压缩的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Nginx Rewrite规则与使用介绍和技巧实例

    Nginx Rewrite规则与使用介绍和技巧实例

    这篇文章主要介绍了Nginx Rewrite规则与使用介绍和技巧实例,本文讲解了正则表达式匹配、文件及目录匹配、flag标记、Nginx Rewrite相关指令等内容,需要的朋友可以参考下
    2015-01-01
  • Nginx配置请求头携带原始请求信息的实现

    Nginx配置请求头携带原始请求信息的实现

    本文主要介绍了Nginx配置请求头携带原始请求信息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Linux下安装MongoDB的实现步骤

    Linux下安装MongoDB的实现步骤

    这篇文章主要介绍了Linux下安装MongoDB的实现步骤的相关资料,希望通过本文能帮助到大家,让大家轻松安装,需要的朋友可以参考下
    2017-10-10
  • 利用SSL配置Nginx反向代理的简单步骤

    利用SSL配置Nginx反向代理的简单步骤

    这篇文章主要给大家介绍了关于利用SSL配置Nginx反向代理的简单步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 详解nginx代理天地图做缓存解决跨域问题

    详解nginx代理天地图做缓存解决跨域问题

    这篇文章主要介绍了详解nginx代理天地图做缓存解决跨域问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Nginx实现TCP和UDP代理的方法步骤

    Nginx实现TCP和UDP代理的方法步骤

    Nginx 1.9.13 及以上版本支持TCP/UDP代理功能,通过配置监听端口、后端服务器地址等参数,实现客户端请求的转发和响应的返回,下面就来介绍一下如何实现,感兴趣的可以了解一下
    2024-12-12
  • Nginx 反向代理缓存(proxy_cache)的实现

    Nginx 反向代理缓存(proxy_cache)的实现

    Nginx的缓存加速功能是由proxy_cache和fastcgi_cache两个功能模块完成,本文主要介绍了Nginx 反向代理缓存(proxy_cache)的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Nginx服务器的location指令匹配规则详解

    Nginx服务器的location指令匹配规则详解

    这篇文章主要介绍了Nginx服务器的location指令匹配规则,文中介绍了一种动静态地址分离的方法示例,需要的朋友可以参考下
    2015-12-12
  • Nginx(PHP/fastcgi)的PATH_INFO问题

    Nginx(PHP/fastcgi)的PATH_INFO问题

    PATH_INFO是一个CGI 1.1的标准,经常用来做为传参载体. 比如, 我们可以使用PATH_INFO来代替Rewrite来实现伪静态页面, 另外不少PHP框架也使用PATH_INFO来作为路由载体.
    2011-08-08

最新评论