最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可。下面是颁发证书和配置过程。

首先确保机器上安装了openssl和openssl-devel

#yum install openssl
#yum install openssl-devel

然后就是自己颁发证书给自己

#cd /usr/local/nginx/conf
#openssl genrsa -des3 -out server.key 1024#openssl req -new -key server.key -out server.csr
#openssl rsa -in server.key -out server_nopwd.key
#openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

至此证书已经生成完毕,下面就是配置nginx

server {listen 443;ssl on;ssl_certificate  /usr/local/nginx/conf/server.crt;ssl_certificate_key  /usr/local/nginx/conf/server_nopwd.key;
}

然后重启nginx即可。

ps: 如果出现“[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf:74”则说明没有将ssl模块编译进nginx,在configure的时候加上“--with-http_ssl_module”即可^^

至此已经完成了https服务器搭建,但如何让浏览器信任自己颁发的证书呢?

今天终于研究捣鼓出来了,只要将之前生成的server.crt文件导入到系统的证书管理器就行了,具体方法:

控制面板 -> Internet选项 -> 内容 -> 发行者 -> 受信任的根证书颁发机构 -> 导入 -》选择server.crt

原文地址

以上为原文,话说我是用在本地服务器的,然后偏偏又是windows+nginx+php,所以上面的当然不能照搬 了,windows下怎么安装ssl我也不记得了,这里直说跟配置https相关的。上面的两个yum是不需要执行了,也执行不了,然后呢是cd切换到nginx的conf文件夹下,然后执行openssl.exe,执行第一条openssl的语句,生产为签署的server.csr,一般应该没问题。执行过程中需要输入输入一系列的参数:

Country Name (2 letter code) [AU]:CN ISO 国家代码(只支持两位字符)

State or Province Name (full name) [Some-State]:ZJ 所在省份

Locality Name (eg, city) []:HZ 所在城市

Organization Name (eg, company): 公司名称

Organizational Unit Name (eg, section) []: 组织名称

Common Name (eg, YOUR name) []: 申请证书的域名(必须和httpd.conf中serverName必须一致)

Email Address []:admin@admin.com 管理员邮箱

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: 交换密钥

An optional company name []:

注:Common Name必须和httpd.conf中serverName必须一致,否则apache不能启动(启动 apache 时错误提示为:server RSA certificate CommonName (CN) `Kedou' does NOT match server name!? )

完成签署的server.csr配置。

执行第二条openssl的时候,可能会报错说找不到openssl.cnf,看清楚报错的文件路径,如果本地有这个文件直接复制到该报错路径下即可,如没有,请自行解决,我本地用的集成环境是phpStudy,在apache的配置文件夹下有这个文件,刚开始也只是试试看的心态,拿过来用,没成想真的能生成密钥文件server.key。

第二部解决之后后面就顺利了。

部分截图如下:

使用nginx搭建https服务器相关推荐

  1. 使用 Nginx 搭建图片服务器

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | ITDragon龙 链接 | cnblogs.com/i ...

  2. Nginx 搭建图片服务器

    本章内容通过Nginx 和 FTP 搭建图片服务器.在学习本章内容前,请确保您的Linux 系统已经安装了Nginx和Vsftpd. Nginx 安装 http://www.cnblogs.com/i ...

  3. Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览

    场景 Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流: Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流_BADAO_LIUMANG_ ...

  4. 使用certbot在nginx搭建HTTPS 以及 阿里云负载均衡HTTPS搭建

    使用certbot在nginx搭建HTTPS certbot certbot官⽹ apache配置文档 安装证书自动工具 certbot yum install -y epel-release yum ...

  5. 给Docker中的Nginx搭建HTTPS环境

    随着苹果和微信小程序强制使用HTTPS协议传输,越来越多的公司和企业开始使用HTTPS.下面我来分享下给Docker容器中的Nginx搭建HTTPS环境 什么是HTTPS 超文本传输安全协议(英语:H ...

  6. 使用Nginx搭建直播服务器(nginx-rtmp-module)

    使用Nginx搭建直播服务器 1 简介 2 RTMP Module 3 gcc 4 OpenSSL 5 g++ 6 pcre 7 zlib 8 安装nginx 9 配置文件 10 systemctl ...

  7. nginx搭建rtmp服务器

    目录 前言 一.nginx是什么? 二.环境准备 1.系统版本 2.nginx版本 三.搭建过程 1.安装编译 nginx 所需要的库 2.下载 nginx-1.21.6.tar.gz 3.下载 ng ...

  8. 在Ubuntu系统使用Nginx搭建RTMP服务器

    在Ubuntu系统使用Nginx搭建RTMP服务器 参考链接:nginx搭建rtmp服务器 简介 本文简单记录了在Ubuntu18.04系统上使用nginx搭建RTMP服务器的方法. 安装 下载ngi ...

  9. Linux - nginx 搭建 Web服务器

    前言 在之前,已经对 nginx 有过基本的介绍. 现在尝试利用 nginx 来 搭建一个 web服务器. 正文 1.什么是 Web 服务器? Web服务器也称为WWW (WORLD WIDE WEB ...

最新文章

  1. asp.net三种重定向方法的总结
  2. vim 多行注释消除注释,多行删除
  3. 416B. Art Union
  4. Spring Cloud Eureka 高可用注册中心
  5. 65lbc184应用电路原理_75lbc184应用电路
  6. caffe 利用Python API做分类预测,以及特征的可视化
  7. SQL数据库学习之路(八)
  8. 线性表_使用栈实现二进制转换到八进制/十进制/十六进制
  9. python中矩阵除法_Python numpy矩阵处理运算工具用法汇总
  10. BASIC语言五十周年:怀念当年风华正茂的APPLE-II主机
  11. C++取字符串长度函数三种方法
  12. Photoshop裁剪工具隐藏技巧
  13. Python检验多重共线性
  14. javaSE基础大全--知识点总结
  15. 关于克拉默法则的一些理解
  16. Iphone开发用导航控制器实现视图的分层切换(UINavigationController)
  17. win10怎样获得计算机管理员权限,详细教你获取win10管理员权限
  18. JAVA基础(JAVA移位运算符)
  19. 【python】python制作暗黑2 建号器
  20. 第七次作业--项目需求分析(团队)

热门文章

  1. [css] 使用css写一个垂直翻转图片的效果
  2. 前端学习(2189):Promise的介绍和基本使用二
  3. 前端学习(2017)vue之电商管理系统电商系统实现表单的预先认证
  4. 前端学习(1918)vue之电商管理系统电商系统之渲染权限列表的数据
  5. oracle之单行函数2
  6. 前端学习(1303):复制文件夹
  7. python技巧(1)--如何转换itertools.chain对象为数组
  8. 如何查看电脑显卡配置_组装电脑:电脑配置显卡推荐
  9. python在职场的用处大吗_Python未来发展怎么样,未来办公是否都需要精通Python?...
  10. vue下拉框值改变事件_vue和element ui 下拉框select的change事件