注意!!首先在nginx安装时添加--with-http_ssl_module模块,否则将会报错,只能从头开始了

自建证书:

通过openssl命令(软件包:openssl ;openssl-devel)

1)创建私钥:

openssl genrsa -out server.key 1024

2)证书请求:

openssl req -new -out server.csr -key server.key       //填写信息,注意!!将Common Name (eg, your name or your server's hostname行填写成服务器的IP地址)

3)自签署证书:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

4)将证书变成浏览器支持的.p12格式

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

修改nginx配置文件

server {
listen 80;

listen 443 default ssl;  //这样可以设置一个虚拟主机同时支持HTTP和HTTPS

server_name localhost;  //由于我是根据IP访问,所以这里不做修改

ssl_certificate /root/server.crt;  //指定证书文件
ssl_certificate_key /root/server.key;  //指定密钥文件

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;  //指定密码为openssl支持的格式

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

  location {

    略

  }

}

将自建证书加入到浏览器中(以Chrome为例)

路径:设置-设置-设置-高级-隐私设置和安全性-管理证书-导入

注意,这时候可能还会提示安全问题,点击 高级,选择继续即可进入

补充:由于创建私钥后,每次开启nginx都需输入密码,用以下命令即可无需输入

1 cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

LInux基于nginx与OpenSSL实现https访问的更多相关文章

  1. 基于Nginx和openssl实现https

    [root@localhost ssl]# yum -y install openssl [root@localhost ssl]# mkdir /usr/local/nginx/conf/ssl/ ...

  2. 基于nginx结合openssl实现https

    [root@localhost ~]#systemctl stop firewalld[root@localhost ~]#setenforce 0[root@localhost ~]#iptable ...

  3. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  4. Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)

    准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796. ...

  5. ubuntu安装nginx和设置网站https访问

    安装nginx 在控制台 输入 sudo apt-get install nginx 等待安装成功之后.可以打开浏览器.输入你的域名或者ip地址会出现"Welcome to nginx!&q ...

  6. docker安装nginx并配置通过https访问

    1. 下载最新的nginx的docker image docker pull nginx:latest 创建挂载路径 2.准备nginx需要的文件 nginx的配置文件 首先是nginx.conf文件 ...

  7. 为了解决linux配置Nginx 只能关闭防火墙才能访问的问题

    使用Nginx和iptables做访问权限控制(IP和MAC)     之前配置的服务器,相当于对整个内网都是公开的,而且,除了可以通过80端口的nginx来间接访问各项服务,也可以绕过nginx,直 ...

  8. Nginx配置SSL实现HTTPS访问

    nginx配置文件如下: server { listen 443 ssl; server_name www.domain.com; root /www/web; index index.html in ...

  9. linux下nginx配置ssl证书(https)

    nginx配置ssl很简单,首先需要两个文件,一个是crt文件,另一个是key文件,如下所示: xxx.crt;  #(证书公钥)xxx.key; #(证书私钥) 把这两个文件放到nginx的conf ...

随机推荐

  1. HBase管理与监控——内存调优

    HMaster 没有处理过重的负载,并且实际的数据服务不经过 HMaster,它的主要任务有2个:一.管理Hbase Table的 DDL操作, 二.region的分配工作,任务不是很艰巨. 但是如果 ...

  2. elk报错解决

    .elasticsearch启动失败如下: [root@bogon home]# /home/elasticsearch-/bin/elasticsearch [--11T07::,][WARN ][ ...

  3. 用js的方式运行c程序之webassemly

    在这里就不科普webassemly的作用以及好处了,请自行百度. 那么,怎么通过js的方式在浏览器中运行c程序呢,其中原理如下: 可能另一张图会更详细: 1.安装emscripten 说明文档地址:h ...

  4. bootstrap4 调整元素之间距离

    影响元素之间的间距是可以通过style的margin或padding属性来实现,但这两个属性本意并不相同:margin影响的是本元素与相邻外界元素之间的距离,这里简称外边距:padding影响的元素本 ...

  5. python-Web-数据库-mysql

    概念: 服务器->数据库管理系统(软件)->数据库(文件夹)->表(文件) 关系型 安装与配置: >>>下载-安装-环境变量 >>>启动 mysq ...

  6. 安装networking-sfc

    申明: 主参考:https://docs.openstack.org/networking-sfc/queens/ 辅参考: https://blog.csdn.net/linshenyuan1213 ...

  7. 【jQuery】attr()、prop()、css() 的区别(转载)

    .attr( ) 可以设置元素的属性(也就是给元素新增加一个原来并不存在的属性)也可以获取元素的本来就有的属性以及额外设置的属性.如果要获取的属性没有设置,那么获取到的结果是 undefined; . ...

  8. day18 time、datetime、calendar、sys、os、os.path模块

    今日内容 时间模块 time模块 datetime模块 calendar模块 系统模块 sys模块 os模块 os.path模块 time模块: 在 time 模块中使用最多的方法有: time() ...

  9. ZOJ Problem Set - 1007

    1.参考这个吧,一道数学公式题,还没看懂...好像需要把公式变形出来,先略过. http://dengbaoleng.iteye.com/blog/1504940

  10. SpringMVC 零配置 无web.xml

    对SpringMVC启动流程的讲解 https://www.cnblogs.com/beiyan/p/5942741.html 与SpringMVC的整合 https://hanqunfeng.ite ...