Nginx配置HTTPS认证
概述
什么是https?
在生产环境中,网站的访问一般都是使用https加密的,本文主要介绍使用nginx配置https。
配置步骤主要有以下几步:
- 准备域名
- 申请域名和证书
- 配置web服务器
- 配置http跳转到https
实操配置
申请域名
可以去阿里云官方购买https://wanwang.aliyun.com/newactivity/mid-yearpromotions?
申请证书
可以通过官方的CA机构购买,我这里仅仅只是测试,则使用openssl生成证书
# 创建私钥
[root@master ~/ca]# openssl genrsa -out www.huangsir-666.com.key 2048
# 生成证书签名请求(CSR,.csr)
[root@master ~/ca]# openssl req -new -key www.huangsir-666.com.key -out www.huangsir-666.com.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:huangsir Tech
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:www.huangsir-666.com
Email Address []:huangsir.devops@163.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
# 生成.crt自签名证书
[root@master ~/ca]# openssl x509 -req -sha256 -days 365 -in www.huangsir-666.com.csr -signkey www.huangsir-666.com.key -out www.huangsir-666.com.crt
Certificate request self-signature ok
subject=C = CN, ST = Beijing, L = Beijing, O = huangsir Tech, OU = IT, CN = www.huangsir-666.com, emailAddress = huangsir.devops@163.com
[root@master ~/ca]# ll
total 12
-rw-r--r-- 1 root root 1354 Jun 6 13:58 www.huangsir-666.com.crt # 公钥证书
-rw-r--r-- 1 root root 1074 Jun 6 13:57 www.huangsir-666.com.csr
-rw------- 1 root root 1704 Jun 6 13:55 www.huangsir-666.com.key # 私钥证书
配置nginx
将证书迁移放置到/etc/ssl/nginx目录下
[root@master /etc/nginx/conf.d]# mkdir -p /etc/ssl/nginx
[root@master ~]# mv ca/www.huangsir-666.com.crt ca/www.huangsir-666.com.key /etc/ssl/nginx/
配置nginx
[root@master ~]# cat /etc/nginx/conf.d/demo01.conf
server{
listen 443 ssl;
server_name www.huangsir-666.com;
# 配置公钥证书
ssl_certificate /etc/ssl/nginx/www.huangsir-666.com.crt;
# 配置私钥证书
ssl_certificate_key /etc/ssl/nginx/www.huangsir-666.com.key;
# 推荐的 SSL 协议和加密算法(安全配置)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
root /data00/nginx/;
location / {
index index.html;
}
}
# http跳转到https
server {
listen 80;
server_name www.huangsir-666.com;
return 301 https://www.huangsir-666.com$request_uri;
}
重启nginx
# 检查语法
[root@master ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 重启nginx
[root@master ~]# systemctl restart nginx
添加hosts解析,进行访问测试
在本地找到hosts文件,添加下列内容:
10.37.97.56 www.huangsir-666.com
访问https://www.huangsir-666.com

这里提示不安全,是因为我们的证书是自签名证书,属于是正常情况
Nginx配置HTTPS认证的更多相关文章
- Harbor配置https认证
Harbor配置https认证由于Harbor不附带任何证书,它默认使用HTTP来提供注册表请求.但是,强烈建议为任何生产环境启用安全性.因为测试使用,使用自签名证书: 1.创建CA证书 首先创建个目 ...
- nginx配置https双向验证(ca机构证书+自签证书)
nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...
- nginx 配置https并自签名证书
2016-10-28 转载请注明出处:http://daodaoliang.com/ 作者: daodaoliang 版本: V1.0.1 邮箱: daodaoliang@yeah.net 参考链接: ...
- nginx 配置用户认证
nginx 配置用户认证有两种方式: 1.auth_basic 本机认证,由ngx_http_auth_basic_module模块实现.配置段: http, server, location, li ...
- Nginx 配置 HTTPS 服务器
Nginx 配置 HTTPS 服务器 Chrome 浏览器地址栏标志着 HTTPS 的绿色小锁头从心理层面上可以给用户专业安全的心理暗示,本文简单总结一下如何在 Nginx 配置 HTTPS 服务器, ...
- Nginx配置Https
1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...
- 【转】Linux下nginx配置https协议访问的方法
一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...
- Nginx 配置https 服务
一.HTTPS 服务 为什么需要HTTPS? 原因:HTTP不安全 1.传输数据被中间人盗用.信息泄露 2.数据内容劫持.篡改 HTTPS协议的实现 对传输内容进行加密以及身份验证 HTTPS加密校验 ...
- nginx配置https转发到tomcat(使用自签名的证书)
一.使用openSSL生成自签名的证书 1.生成RSA私钥 命令:openssl genrsa -des3 -out server.key 1024 说明:生成rsa私钥,des3算法,1024强度, ...
- RedHat 6.6下安装nginx,配置HTTPS
1.安装依赖包 yum -y install pcre-devel openssl-devel zlib-devel 2.下载nginx安装包到服务器上,当前使用版本nginx-1.15.5.tar. ...
随机推荐
- 掌握 K8s Pod 基础应用 (一)
Pod 介绍 Pod结构 每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类: 用户程序所在的容器,数量可多可少 Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个: 可以以它 ...
- golang定时器函数 每隔几分钟执行一个函数
延时调用 AfterFunc go function() func function() { // TODO 具体逻辑 // 每5分钟执行一次,递归调用自己 time.AfterFunc(5*time ...
- Go语言修改字符串
Go 语言的字符串无法直接修改每一个字符元素,只能通过重新构造新的字符串并赋值给原来的字符串变量实现.请参考下面的代码: angel := "Heros never die" an ...
- WebKit Inside: CSS 的匹配原理
相关文章 WebKit Inside: CSS 样式表的解析 WebKit Inside: CSS 样式表的匹配时机 WebKit Inside: Acitvie 样式表 当WebView解析完所有外 ...
- CentOS 版本选择DVD、Everything、LiveCD、Minimal、NetInstall
CentOS 7.X,主要是下载的时候有很多版本供选择,如何选择? DVD版:这个是常用版本,就是普通安装版了,推荐大家安装.里面包含大量的常用软件,大部分情况下安装时无需再在线下载,体积为4G.Ev ...
- RocketMq安装踩坑:docker0网桥冲突
前言 最近项目用到了RocketMq,需要在Cento7系统上搭建一套集群环境用于测试.整个的环境搭建过程中,我遇到了一个比较初级的问题:启动RocketMq的broker失败. 问题经过 首先我 ...
- 视觉SLAM第四讲李群与李代数习题
视觉SLAM第四讲李群与李代数习题 一.验证\(SO(3).SE(3).SIM(3)\)关于乘法成群 首先引入一下群的定义. 群 (Group) 是一种集合加上一种运算的代数结构.我们把集合记作 \( ...
- 【JDBC第8章】数据库连接池
第8章:数据库连接池 8.1 JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接 进行sql操作 ...
- EntityFrameworkCore 中实体的几种配置方法
使用数据注解 实体类通常是在Models目录下,直接在实体类上添加属性注解,比如[Required]/[Key]等. using System.ComponentModel.DataAnnotatio ...
- SLAM导航全栈书的正确打开姿势
SLAM导航全栈书的正确打开姿势 随着人工智能.机器人.无人驾驶等技术的蓬勃发展,作为底层技术基石的SLAM也逐渐被大家所熟知.人工智能技术如果仅仅停留在虚拟的网络和数据之中的话,那么它挖掘并利用知识 ...