Nginx服务器配置HTTPS nginx.config 配置文件(教程)

yizhihongxing

下面我来详细讲解“Nginx服务器配置HTTPS nginx.config 配置文件(教程)”的完整攻略。

什么是HTTPS

HTTPS 是一种安全的HTTP协议,它是在HTTP协议和TLS/SSL协议上建立的。通过 HTTPS 传输的数据经过 SSL/TLS 加密,可以有效地防止数据被篡改或窃取。在 Web 安全方面,HTTPS 是一个非常重要的概念。

配置HTTPS

要使用 HTTPS,需要在服务器上安装 SSL/TLS 证书,并在 Nginx 配置文件中添加一些配置。下面我以 Ubuntu 16.04 系统为例,演示如何配置 HTTPS。

安装 SSL/TLS 证书

首先需要在服务器上安装 SSL/TLS 证书。可以选择使用免费的 Let's Encrypt 证书,也可以使用收费的商业证书。这里以 Let's Encrypt 证书为例,并假设已经安装了 certbot 工具。

使用以下命令来为域名 example.com 申请证书:

sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

该命令将使用 webroot 方式验证域名,会在 /var/www/html 目录下创建一个 .well-known 目录,并在其中创建验证文件,验证域名所有权。注意将 example.com 和 www.example.com 替换为你自己的域名。

执行该命令后,会在 /etc/letsencrypt/live/example.com 目录下生成证书和密钥文件。

配置 Nginx

接下来需要在 Nginx 配置文件中添加 HTTPS 相关配置。

打开 Nginx 配置文件,一般位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。添加以下内容:

server {
    listen 80;
    server_name example.com www.example.com;
    rewrite ^(.*)$ https://$server_name$1 permanent;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 根据需要开启
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AE128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RFA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:DHE-RSA-AES256-SHA;
    ssl_prefer_server_ciphers on; # 根据需要开启
    ssl_session_cache shared:SSL:50m;
    ssl_stapling on; # 可以不开启
    ssl_stapling_verify on; # 可以不开启
    add_header Strict-Transport-Security max-age=15768000;
    location / {
        # 其他配置
    }
}

以上配置中,将 HTTP 请求重定向到 HTTPS,添加了 SSL/TLS 相关配置,加强了 SSL/TLS 安全性,同时添加了 HSTS 头,增强了安全性。

重启 Nginx

全部配置完成后,需要重启 Nginx 服务使配置生效。执行以下命令来重启 Nginx:

sudo systemctl restart nginx

示例说明

示例一:开启 HSTS

在以上配置文件中,有以下代码:

add_header Strict-Transport-Security max-age=15768000;

这是开启了 HSTS,这里的 max-age 参数定义了 HSTS 头有多长时间的效力,15768000 秒约为半年的时间。开启 HSTS 可以防范 SSL/TLS 中间人攻击,强制客户端一直采用 HTTPS 协议与服务器交互。

示例二:开启 OCSP Stapling

在以上配置文件中,有以下两行代码:

ssl_stapling on;
ssl_stapling_verify on;

这是开启了 OCSP Stapling,这个功能可以减少客户端获取 SSL/TLS 证书吊销信息的延迟。开启 OCSP Stapling 可以提高 SSL/TLS 安全性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx服务器配置HTTPS nginx.config 配置文件(教程) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 2. Nginx配置文件和访问

    一 .Nginx配置文件(https://www.bilibili.com/video/BV1zE411N7m9?p=18 ) 学习Nginx首先需要对它的核心配置文件nginx.conf有一定的认识: (1)Nginx的核心配置文件主要由三个部分构成: 基本配置+events配置+http配置 #==================1.基本配置======…

    Nginx 2023年4月13日
    00
  • nginx日志统计相关命令和python脚本

    src=(s1,s2,s3,s3) for i in ${src[@]     nginx访问量统计 1.根据访问IP统计UVawk ‘{print $1}’  access.log|sort | uniq -c |wc -l 嘉图的统计 awk ‘{print $1}’ /var/log/nginx/access.log|sort | uniq -c |w…

    Nginx 2023年4月12日
    00
  • Nginx配置文件详细说明

     记录备忘: nginx:./nginx -t 检查语法./nginx -s reload 重新加载配置./nginx -s stop fastcgi_param 加上: fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name; nginx.conf加上: include si…

    Nginx 2023年4月10日
    00
  • linux 运维 nginx服务器

    nginx(web服务器) nginx是一个高性能的http和反向代理服务器,同时也是一个imap/pop3/smtp 代理服务器比apache简单官网:http://nginx.org nginx配置文件及目录/usr/local/nginx(安装目录)/usr/local/nginx/conf/nginx.conf(主配置文件)/usr/local/ng…

    Nginx 2023年4月9日
    00
  • 如何利用nginx做代理缓存浅析

    下面我将详细讲解如何利用nginx做代理缓存浅析,包括以下内容: 一、什么是代理缓存? 代理缓存是指代理服务器将之前已经访问过的网页内容缓存下来,当有用户再次访问该网页时,直接从缓存中获取,而不是重新请求原始服务器。这样可以降低对原始服务器的访问压力,提高网页的访问速度。 二、利用nginx做代理缓存的基本流程 安装nginx:使用apt-get安装命令即可…

    Nginx 2023年5月16日
    00
  • nginx防盗链处理模块referer和secure_link模块

    使用场景:某网站听过URI引用你的页面;当用户在网站点击url时;http头部会通过referer头部,将该网站当前页面的url带上,告诉服务本次请求是由这个页面发起的 思路:通过referer模块,用invalid_referer变量根据配置判断referer头部是否合法。 目的:拒绝非正常网站访问我们站点资源 默认:referer模块默认编译进nginx…

    Nginx 2023年4月13日
    00
  • Linux和Windows环境下安装Nginx

    windows环境下安装Nginx 安装 Nginx 的下载地址如下: http://nginx.org/en/download.html 选择时尽量选择 Stable 稳定版本,点击对应版本下载即可。 之后将安装包解压,解压后可以看到 Nginx 的目录结构: 启动 Nginx 进入安装目录,打开 cmd 命令行,执行命令: start nginx   启…

    2023年4月9日
    00
  • 使用 Nginx 部署静态页面的方法

    当我们需要部署静态页面时,可以使用Nginx进行部署,该过程需要涵盖以下步骤: 安装Nginx 首先需要安装Nginx,具体步骤如下: sudo apt-get update sudo apt-get install nginx 安装完成后,可以使用以下命令来检查Nginx是否正常工作: sudo systemctl status nginx 配置Nginx…

    Nginx 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部