Ken的杂谈
  • Ken的杂谈 (current)
  • 关于
  • 杂谈
    Java Spring Spring Boot Spring Cloud MyBatis C# .NET Core .NET ASP.NET Core ASP.NET ClassLibrary Mono 数据库 MySQL SQL Server 网络 缓存 Web Linux CentOS Ubuntu macOS Windows openEuler Nginx ServiceStack JS/JQ 正则 工具 IDE Grafana Exceptions CI/CD Solution 微服务 Arch Docker 杂谈
  • 系列
    Java 快速入门系列教程 Spring Boot 入门教程 Spring Boot 2.x 入门教程 Spring Cloud 入门教程 .NET Core 快速入门教程 ASP.NET Core 2.1 入门教程 CentOS 7 快速上手教程 Ubuntu快速上手入门教程 Hyper-V基础教程 Docker入门教程
  • GitHub

Nginx配置SSL证书将网站从HTTP升级到HTTPS

网络 Linux Nginx @ 2017-08-29 19:03:58 · 阅读:(8654)

一、前言

1、什么是HTTPS以及什么是SSL?

HTTPS全称是:超文本安全传输协议,可以简单理解为使用SSL加密传输的HTTP协议,HTTP的默认端口是80,HTTPS的默认端口是443。SSL是为网络通信提供安全及数据完整性的一种安全协议。http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

2、为什么要使用HTTPS

为了保护信息传输的安全性,数据完整性。让访客觉得网站可信任,对于国内的网络环境,也可以防止宽带运营商强制给网站挂广告。

二、操作步骤

1、申请免费SSL证书

https://console.qcloud.com/ssl?apply=1&fromSource=ssl

目前腾讯云有免费的SSL证书申请入口,而且发放速度极快,尤其是放在DNSPOD解析的域名。

2、Nginx配置示例

(1) Nginx配置SSL

server {
    listen 443;          #监听443端口
    server_name  baidu.io;    #监听的域名
    ssl on; #开启SSL
    ssl_certificate     /webroot/ssl/ken.io.crt;    #证书文件
    ssl_certificate_key /webroot/ssl/ken.io.key;    #私钥文件
    location / {                #转发或处理
        proxy_pass http://www.baidu.com;
    }
}

(2)Nginx将HTTP请求301重定向到HTTPS

server {
    listen 80;        #监听80端口
    server_name  baidu.io www.baidu.io; #监听的域名
    return 301 https://baidu.io$request_uri;
}

三、备注

如果升级到HTTPS之后,浏览器提示您与此网站之间建立的连接并非完全安全,那应该是站点引用了非HTTPS站点的资源。这个时候有以下几种方法:

序号 方法
1 将公共静态资源选择引用公共CDN,比如:http://www.bootcdn.cn/
2 将自定义的css、图片等静态资源放在七牛云或者又拍云
3 将自定义的css、图片等静态资源放在站点下(不推荐)

Ken的杂谈

本文由 ken.io 创作,采用CC BY 3.0 CN协议 进行许可。 可自由转载、引用、甚至修改,但需署名作者且注明出处。

网络 Linux Nginx

随笔目录


    © Copyright 2012-2025 Ken的杂谈

    豫ICP备10025012号

    ASP.NET Core(6.0) on Linux