Nginx配置SSL自签名证书
生成自签名SSL证书
生成RSA密钥(过程需要设置一个密码,记住这个密码)
$ openssl genrsa -des3 -out domain.key 1024
拷贝一个不需要输入密码的密钥文件
$ openssl rsa -in domain.key -out domain_nopass.key
生成一个证书请求
$ openssl req -new -key domain.key -out domain.csr
这里会提示输入国家,地区组织,email等信息.最重要的一个是"common name",需要与网站域名相同.
Enter pass phrase for domain.key: # 之前设置的密码
-----
Country Name (2 letter code) [XX]:CN # 国家
State or Province Name (full name) []:Jilin # 地区或省份
Locality Name (eg, city) [Default City]:Changchun # 地区局部名
Organization Name (eg, company) [Default Company Ltd]:Python # 机构名称
Organizational Unit Name (eg, section) []:Python # 组织单位名称
Common Name (eg, your name or your server's hostname) []:domain.com # 网站域名
Email Address []:123@domain.com # 邮箱
A challenge password []: # 私钥保护密码,可直接回车
An optional company name []: # 一个可选公司名称,可直接回车
输入完这些就会生成一个domain.csr文件,提交给ssl提供商的时候就是这个csr文件.当然这里并没有向任何证书提供商申请,而是自己签发证书.
使用上面的密钥和CSR对证书签名
$ openssl x509 -req -days 365 -in domain.csr -signkey domain.key -out domain.crt
Nginx下ssl配置方法
检测nginx是否支持SSL:
$ nginx -V
如果有显示-with-http_ssl_module表示已编译openssl,支持安装ssl.
如果没有,请重新编译安装nginx
$ ./ configure --with-http_ssl_module --with-http_stub_status_module
$ make & make install
配置文件:
server {
listen 80;
listen 443 ssl; # 监听443端口, 开启ssl(必须)
server_name domain.com;
# ssl on; # 不建议使用! 该指令与listen中ssl参数功能相同.
# 引用ssl证书(必须,如果放在nginx/conf/ssl下可以用相对路径,其他位置必须用绝对路径)
ssl_certificate /home/user/domain.com/conf/ssl/domain.crt;
ssl_certificate_key /home/user/domain.com/conf/ssl/domain_nopass.key;
# 协议优化(可选,优化https协议,增强安全性)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 自动跳转到HTTPS
if ($server_port = 80) {
rewrite ^(.*)$ https://$host$1 permanent;
}
# 其他配置信息...
}
配置完成后检查niginx配置文件是否可用:
$ nginx -t # 检查nginx配置文件
successful后重新加载配置文件使配置生效:
$ nginx -s reload
注:记得开启防火墙的443端口
firewall-cmd --zone=public --add_port=443/tcp permanent
注:我使用的nginx+uwsgi部署,这种情况还需要重启下uwsgi,否则无法访问
uwsgi --reload ./tmp/uwsgi.pid
Nginx配置SSL自签名证书的更多相关文章
- Nginx 配置 HTTPS自签名证书
工具: OpenSSL ssl的开源实现,几乎实现了市面上所有的加密 libcrypto: 通用加密库, 任何软件要实现加密功能 链接调用这个库 libssl: TLS/SSL 加密库 openssl ...
- springboot配置SSL自签名证书
1.证书生成 每一个JDK或者JRE里都有一个工具,叫做:keytool,安装了jdk或jre之后,配置好JAVA环境之后,就可以直接在控制台使用该命令生成自签名证书: 在控制台输入: keytool ...
- apache、nginx配置openssl自签名证书
1.生成私钥 生成rsa私钥,des3算法,2048位强度.server.key是秘钥文件名,需要提供一个至少4位的密码. [root@localhost ~]# openssl genrsa -de ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Nginx - 配置 SSL证书
nginx 配置 ssl 证书: 在nginx配置目录创建 cert目录 放置 SSL 的证书秘钥: 也可以使用配置绝对路径 /file/cert/cert.pem server { listen s ...
- Nginx配置SSL证书实现https访问「浏览器未认证」
http 和 https 介绍 http:应用最广泛的一种网络协议,是一个B/S的request和response的标准,用于从www服务器传输超文本到本地浏览器的传输协议. https:以安全为目标 ...
- nginx配置ssl双向证书
CA根证书制作 # 创建CA私钥 openssl genrsa -out ca.key 2048 #制作CA根证书(公钥) openssl req -new -x509 -days 3650 -key ...
- linux下nginx配置ssl证书(https)
nginx配置ssl很简单,首先需要两个文件,一个是crt文件,另一个是key文件,如下所示: xxx.crt; #(证书公钥)xxx.key; #(证书私钥) 把这两个文件放到nginx的conf ...
- nginx 配置 ssl 双向证书
CA 根证书制作 # 创建 CA 私钥 openssl genrsa -out ca.key 2048 #制作 CA 根证书(公钥) openssl req -new -x509 -days 3650 ...
随机推荐
- java Concurrent包学习笔记(五):Semaphore
一.Semaphore 是什么 信号量Semaphore是一个并发工具类,用来控制可同时并发的线程数,其内部维护了一组虚拟许可,构造函数初始化的时候可以指定许可的总数量 每次线程执行操作时先通过ac ...
- jq 某个时间段的倒计时
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- IntelliJ IDEA 2017版 使用笔记(五) 模板 live template自定义设置(二) ;postfix使用;IDE快捷键使用
一.live template 活模板 就像这个单词的含义一样,live template就是一个高效的提高代码,书写速度的方式,(live template位置File-----settin ...
- DDR II中的延时参数
CL (CAS latency) CL是从读命令发出到有效数据到DDR端口的延时,以时钟为单位.下图分别表示CL = 3和CL = 4的两种情况, 如果读命令在第n个时钟周期发出,CL = m,则读 ...
- java 定时执行
Timer和TimerTask CountDownTimer (android)
- info AI drive
Who we look for Here at comma, we don't care about the source of your education or your traditional ...
- wc2016鏖战表达式(可持久treap)
由运算符有优先级可以想到先算优先级小的,然后两边递归,但符号比较少,有大量相同的,同级之间怎么办呢?因为运算符满足结合律,同级之间选一个然后两边递归也是没问题的,然后我们想到用fhqtreap进行维护 ...
- [Selenium With C#基础教程] Lesson-01环境搭建
作者:Surpassme 来源:http://www.jianshu.com/p/33b87bc00233 声明:本文为原创文章,如需转载请在文章页面明显位置给出原文链接,谢谢. 最近开始复习Sele ...
- 20155326刘美岑 2016-2017-2 《Java程序设计》第二周学习总结
20155326刘美岑 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 教材第三章主要讲解的是基础语法,主要包括认识类型与变量.学习运算符的基本使用.了解类型 ...
- 7.Layout布局(tabs、accordion、layout)
一.tabs选项卡: 二.accordion手风琴: 三.经由div标记创建layout布局: 注意:center不是定位得到的,而是通过其他的几个位置计算得到的,如果不写center整个布局就无法初 ...