nginx配置https加密访问的详细教程

环境:

1台 CentOS Linux release 7.5.1804 (Core)
关闭防火墙和selinux

开始部署:

1、安装nginx

@1.1 依赖安装

yum -y install wget gcc gcc-c++ pcre-devel openssl-devel

@1.2 nginx软件包下载

 wget http://nginx.org/download/nginx-1.19.0.tar.gz

@1.3 解压、编译、安装

[root@localhost ~]# tar xf nginx-1.19.0.tar.gz
[root@localhost ~]# cd nginx-1.19.0
[root@localhost nginx-1.19.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install

@1.4 切换到 nginx 目录、做个软链接

[root@localhost nginx-1.19.0]# cd /usr/local/nginx/
[root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx

2、配置私钥和证书

@2.1 创建私钥

[root@localhost nginx]# mkdir sslkey
[root@localhost nginx]# cd sslkey/
[root@localhost sslkey]# openssl genrsa -des3 -out server.key 1024

@2.2 生成证书文件

[root@localhost sslkey]# openssl req -new -key server.key -out server.csr

[root@localhost sslkey]# openssl req -x509 -days 3650 -key server.key -in server.csr > server.crt

-days参数指明证书有效期,单位为天
x509表示生成的为X.509证书
以上签署证书仅仅做测试用,真正运行的时候,应该将CSR发送到一个CA返回真正的证书

用openssl x509 -noout -text -in server.crt 可以查看证书的内容。证书实际上包含了Public Key
@2.3 生成无密的私钥

[root@localhost sslkey]# openssl rsa -in server.key -out server.key.unsecure

查看生成证书与私钥文件

3、nginx配置https

@3.1 修改配置nginx.conf,将监听端口80替换成443,配置ssl认证

[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
server {
  listen  443;
  server_name localhost;
  ssl_certificate   /usr/local/nginx/sslkey/server.crt;
  ssl_certificate_key  /usr/local/nginx/sslkey/server.key.unsecure;
  ssl_protocols   TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_prefer_server_ciphers on;

@3.2 启动 nginx 并查看端口

[root@localhost conf]# nginx
[root@localhost conf]# ss -nltp|grep 443
LISTEN  0  128   *:443      *:*     users:(("nginx",pid=25949,fd=6),("nginx",pid=25948,fd=6))

4 浏览器访问即可!

到此这篇关于nginx配置https加密访问的详细教程的文章就介绍到这了,更多相关nginx配置https加密访问内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Nginx配置多个HTTPS域名的方法

    最近在玩微信小程序,手头有: 一台云服务器:CentOS 7 多个一级域名 开发测试过程中,因为某些原因,想要让手头的A.B域名同时指向云服务器的443端口,支持HTTPS. Nginx支持TLS协议的SNI扩展(同一个IP上可以支持多个不同证书的域名),只需要重新安装Nginx,使其支持TLS即可. 安装Nginx [root]# wget http://nginx.org/download/nginx-1.12.0.tar.gz [root]# tar zxvf nginx-1.12.0.t

  • nginx配置ssl证书实现https访问的示例

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点"解析",进入解析页面后选择[添加解析]按钮会弹出如下页面: 主机记录这里选择@,记录值就是服务器ip地址,确认. 三,申请ca证书 在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书, 选择"免费版DV SSL",点击立即购买: 然

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

    目录位置: /usr/local/www/nginx/conf(仅供参考) server { listen 443 ssl; server_name localhost; ssl_certificate server.crt; # cert.pem; ssl_certificate_key server.key; # cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL

  • 详解nginx如何配置HTTPS

    使用ssl模块配置同时支持http和https并存 一,生成证书 # 1.首先,进入你想创建证书和私钥的目录,例如: cd /etc/nginx/ # 2.创建服务器私钥,命令会让你输入一个口令: openssl genrsa -des3 -out server.key 1024 # 3.创建签名请求的证书(CSR): openssl req -new -key server.key -out server.csr # 4.在加载SSL支持的Nginx并使用上述私钥时除去必须的口令: cp se

  • CentOS7 配置Nginx支持HTTPS访问的实现方案

    CentOS7配置Nginx支持HTTPS访问 1.安装git和bc yum -y install git bc 2.安装Nginx 1.准备: yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 2.下载: wget https://nginx.org/download/nginx-1.11.6.tar.gz 3.解压: tar zxvf nginx-1.11.6.tar.gz 4.编译安装:

  • 详解阿里云LINUX服务器配置HTTPS(NGINX)

    背景说明 服务器为阿里云 ECS,操作系统为 CentOS 6.5. 部署配置说明 第一步,安装nginx 之所以要先安装 nginx,是因为下面配置域名解析的时候可以直接在浏览器看到效果,当然了,先配置域名,然后 ping 一下也是可以的 下载Nginx源码包,解压源码包,进入解压后的目录,编译配置,命令如下: ./configure --prefix=/usr/local/nginx --with-http_ssl_module 以上命令将nginx安装到usr/local/nginx目录下

  • nginx配置https加密访问的详细教程

    环境: 1台 CentOS Linux release 7.5.1804 (Core) 关闭防火墙和selinux 开始部署: 1.安装nginx @1.1 依赖安装 yum -y install wget gcc gcc-c++ pcre-devel openssl-devel @1.2 nginx软件包下载 wget http://nginx.org/download/nginx-1.19.0.tar.gz @1.3 解压.编译.安装 [root@localhost ~]# tar xf n

  • Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 如下所示: configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --

  • 阿里云Nginx配置https实现域名访问项目(图文教程)

    第一步:签署第三方可信任的 SSL 证书 证书可以直接在阿里云里面申请免费的ssl证书 登录阿里云账号,在上方搜索栏内搜索ssl,点击ssl证书(应用安全) 来到这个页面后点击购买证书 如图选择免费版ssl证书,点击支付 支付完成后跳转到控制台首页,点击证书申请 填写完证书申请表单之后点击下一步 点击验证显示验证成功后再提交审核 审核通过后点击下载按钮 选择nginx旁边的下载 下载解压后得到一个.key和.pem文件,到这里,我们的证书申请工作已经做完了,下面可以开始配置https了 第二步:

  • IIS7.0 Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站的教程图文详解

    配置环境 Windows版本:Windows Server 2008 R2 Enterprise Service Pack 1 系统类型: 64 位操作系统 了解HTTPS 为什么需要 HTTPS ? 在我们浏览网站时,多数网站的URL都是以HTTP开头,HTTP协议我们比较熟悉,信息通过明文传输; 使用HTTP协议有它的优点,它与服务器间传输数据更快速准确; 但是HTTP明显是不安全的,我们也可以注意到,当我们在使用邮件或者是在线支付时,都是使用HTTPS; HTTPS传输数据需要使用证书并对

  • Nginx配置Https安全认证的实现

    1.Http与Https的区别 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL.HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全:另一种就是确认网站的真实性. H

  • CentOS8 配置本地yum源的详细教程

    centos8发行版通过 BaseOS 和应用流 (AppStream) 仓库发布,AppStream 是对传统 rpm 格式的全新扩展,为一个组件同时提供多个主要版本 centos8 自带封装了NGINX,这篇文章给大家介绍CentOS8 配置本地yum源,具体内容如下所示: 1.创建目录 mkdir /mnt/cdrom 2.挂载你的cdrom文件. 2.1光驱方式 采用光驱的方式,对于vmware用户来说,可以直接用镜像,如图所示 sudo mount /dev/cdrom /mnt/cd

  • Centos7下安装和配置MySQL5.7.20的详细教程

    1.在官网下载MySQL5.7安装包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz. 下载地址:https://dev.mysql.com/downloads/mysql/ 2.通过SSH Secure Shell Client远程访问CentOS7 3.卸载系统自带的Mariadb数据库 4.创建mysql用户组和mysql用户 5.将MySQL安装包上传到CentOS7服务器/root目录下并解压(这里我是用filezilla去登陆远程服务然后把安装包

  • vs code 配置c/c++环境的详细教程(推荐)

    写在前面的一段话 我这个配置方法反正在win10上是可以用的,我自己的笔记本就是win10的系统.但是在实验室蹭的学长的主机却是win7的系统,按道理来说这个配置应该是不分系统的?但是我确实是折腾了好几天,看了很多博客的配置方法,也问过稍微会一些的人,没有一个能解决我问题的,也希望有人能评论解决我的问题,我的vscode问题是c++只能编译运行无法debug.每次按F5都是一闪而过,无法调试,再按就显示调试程序正在运行.-------2019.5.3 实验室我把系统换了,用了自己喜欢很久的ubu

  • MAVEN的安装配置与IDEA整合超详细教程

    去http://maven.apache.org/download.cgi下载你需要的Maven版本. 下载好以后,解压安装到一个目录,我的目录为 D:\Develop\apache-maven-3.5.2. 接着配置Maven环境:右键单击"此电脑"-属性-高级系统设置-高级-环境变量--新建- 新建系统变量MAVEN_HOME为你解压的目录 D:\Develop\apache-maven-3.5.2 ,如下图新建MAVEN_HOME变量: 找到变量名为Path的系统变量,编辑该变量

  • Windows下用Nginx配置https服务器及反向代理的问题

    请求逻辑 前端 --> https方式请求nginx nginx --> 通过http请求后端服务 安装OpenSSL 下载地址 然后配置环境变量.在系统环境变量中添加环境变量: 变量名:OPENSSL_HOME 变量值:F:\OpenSSL-Win64\bin; (变量值为OPENSSL安装位置下的bin目录) 生成证书 用命令行随便打开一个目录, 使用如下命令生成证书 # 创建私钥 # test文件名是自己随便起即可, 这个命令会让你设置两次rsa的密码, 请务必记住该密码, 后续需要使用

随机推荐