Ngnix 部署 https 协议文件

本文详细介绍如何在腾讯云上免费申请HTTPS证书并配置到Nginx服务器的过程,包括证书的下载、安装及配置Nginx以支持HTTPS访问的方法。

1. 腾讯云免费申请https证书,并下载

这里写图片描述

这里写图片描述

2. 按官方说明配置

2.1 获取证书

Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件2_www.domain.com.key,

  • _www.domain.com_bundle.crt 文件包括两段证书代码
    “—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,
  • _www.domain.com.key 文件包括一段私钥代码“
    —–BEGIN RSA PRIVATE KEY—–”和“—–END RSA PRIVATE KEY—–”。

2.2 证书安装

  • 将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt、私钥文件2_www.domain.com.key保存到同一个目录(可以直接保存在配置文件的目录

  • 更新Nginx根目录下 conf/nginx.conf 文件如下:

 server {
        listen 443;
        server_name www.domain.com; #填写绑定证书的域名
        ssl on;
        ssl_certificate 1_www.domain.com_bundle.crt;
        ssl_certificate_key 2_www.domain.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        #这一块按以前的配置
        location / {
            root   html; #站点目录
            index  index.html index.htm;
        }
    }

修改完成的

server {
        listen 443 ssl;
        server_name www.liuyang2018.com; #填写绑定证书的域名
        ssl on;
        ssl_certificate 1_www.liuyang2018.com_bundle.crt;
        ssl_certificate_key 2_www.liuyang2018.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        index index.php index.html;
        root /yjdata/www/www/;
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:10000;
                include fastcgi.conf;
        }
    }

这里写图片描述

注:

配置文件参数     说明
listen 443   SSL访问端口号为443
ssl on  启用SSL功能
ssl_certificate 证书文件
ssl_certificate_key 私钥文件
ssl_protocols   使用的协议
ssl_ciphers 配置加密套件,写法遵循openssl标准
2.3 使用全站加密,http自动跳转https(可选)

3. 最后设置自动化加载https

对于用户不知道网站可以进行https访问的情况下,让服务器自动把http的请求重定向到https。

  • 在服务器这边的话配置的话,可以在页面里加js脚本,
    也可以在后端程序里写重定向,当然也可以在web服务器来实现跳转。
  • Nginx是支持rewrite的(只要在编译的时候没有去掉pcre)
    在http的server里增加 rewrite ^(.*) https://$host$1 permanent;
       server {
        listen       80;
        server_name  localhost;
        index index.php index.html;
        root /yjdata/www/www/;
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:10000;
                include fastcgi.conf;

        rewrite ^(.*) https://$host$1 permanent;
        }

这样就可以实现80进来的请求,重定向为https了。

### 配置 Nginx 在 Windows 环境下支持 HTTPS 要在 Windows 系统上使用 Nginx 部署 HTTPS 网站,需要完成以下几个方面的设置: #### 1. **安装并启动 Nginx** 确保已正确安装 Nginx 并能够正常运行。可以通过进入 `C:\nginx` 目录(假设此为安装路径),双击 `nginx.exe` 文件来启动服务[^3]。验证方法是在浏览器中访问 `http://localhost`,如果显示默认的 Nginx 欢迎页面,则表示安装成功。 --- #### 2. **生成 SSL/TLS 证书** 为了启用 HTTPS 协议,必须准备有效的 SSL/TLS 证书及其私钥文件。这些文件通常由受信任的 CA(Certificate Authority)签发,或者也可以自签名用于测试环境。以下是常见的证书存储路径: - 证书文件路径:`D:/nginx/conf/uat.cer` - 私钥文件路径:`D:/nginx/conf/uat.key` 注意:实际路径应根据具体需求调整[^2]。 --- #### 3. **编辑 Nginx 配置文件 (nginx.conf)** 打开位于 Nginx 安装目录下的 `conf/nginx.conf` 文件,在其中定义一个监听 443 端口的服务块,并指定必要的 SSL 参数。以下是一个典型的配置示例: ```nginx server { listen 443 ssl; server_name yourdomain.com; # 启用 SSL 功能 ssl_certificate D:/nginx/conf/yourdomain.crt; # 替换为您的证书路径 ssl_certificate_key D:/nginx/conf/yourdomain.key; # 替换为您的密钥路径 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; # 反向代理设置 location / { proxy_pass http://127.0.0.1:8080; # 将请求转发至本地应用服务器 } # 错误页处理 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } ``` 上述配置实现了以下功能: - 使用 `listen 443 ssl` 来开启 HTTPS 支持。 - 设置了 `ssl_certificate` 和 `ssl_certificate_key` 指定证书与密钥的位置。 - 添加了一个反向代理规则 (`proxy_pass`),将流量导向后台的应用程序实例。 --- #### 4. **保存更改并重启 Nginx** 完成以上修改之后,需重新加载或重启 Nginx 才能使新配置生效。对于 Windows 环境中的 Nginx,执行如下命令即可实现热更新而无需完全停止服务: ```bash nginx.exe -s reload ``` 该操作会通知守护进程平滑切换到新的配置模式而不中断现有连接[^1]。 --- #### 注意事项 - 如果遇到权限不足的情况,请确认当前用户具有足够的权利读取所指明的 `.crt` 和 `.key` 文件。 - 对于生产环境中使用的正式站点而言,建议从权威机构获取合法认证而非自行创建临时凭证。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值