nginx 采用https 协议通信配置
在网络通信中,使用抓包软件可以对网络请求进行分析,并进行重放攻击,重放攻击的解决方案一般是使用一个变化的参数,例如RSA加密的时间戳,但考虑到网络传输时延,时间戳需要有一定的误差容限,这样仍然不能从根本上防止重放攻击。想要较好的解决重放攻击问题,应考虑使用HTTPS通信,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
对于用浏览器访问的网站,需要向CA申请证书才能保证HTTPS的网页被正常的浏览,否则会被警告是不安全或者未认证的网站,而对于一些后台数据的传输,使用自签署的证书即可。
服务端的配置
生成证书
在服务器的命令行下进行如下操作
①生成服务端的私钥,需要输入一个4~8191位的密码
openssl genrsa -des3 -out server.key
②去除key文件的密码,这里需要输入①中填写的密码
openssl rsa -in server.key -out server.key
③生成csr文件,这一步要求输入多种信息,可以全部按回车跳过
openssl req -new -key server.key -out server.csr
④生成crt文件,这一步中的-days后为有效期,可以写长一点
openssl x509 -req -days -in server.csr -signkey server.key -out server.crt
⑤合并crt与key制作pem,用于后面生成cer以供客户端验证
cat server.crt server.key > server.pem
⑥用pem生成cer,cer文件存放在客户端用于验证
openssl x509 -in server.pem -outform der -out server.cer
配置nginx:
server {
listen       ;
ssl                  on;
ssl_certificate      <这里填写crt文件server.crt的全路径>
ssl_certificate_key  <这里填写私钥key文件server.key的全路径>
ssl_session_timeout 5m;
 ssl_protocols SSLv3 TLSv1;
	 ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
	 ssl_prefer_server_ciphers on;
}
其他配置与一般的web 服务配置相同,https 默认使用443端口。
配置完成后重新加载配置文件
nginx -t
nginx -s reload
nginx 采用https 协议通信配置的更多相关文章
- https协议通信过程
		
https协议通信过程 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组 ...
 - Nginx采用https加密访问后出现的问题
		
线上的一个网站运行了一段时间,应领导要求,将其访问方式更改为https加密方式.更改为https后,网站访问正常,但网站注册功能不能正常使用了! 经过排查,是nginx配置里结合php部分漏洞了一个参 ...
 - IOS 采用https 协议访问接口
		
申请好证书后,发现ios 仍无法使用https协议访问到数据,发现ios 需要ssl 支持 TLS1.2 . 更改nginx 配置: ssl_protocols TLSv1 TLSv1. TLSv1. ...
 - nginx 使用HTTPS协议-SSL证书模块报错解决-附nginx安装 : [emerg] the "ssl" parameter requires ngx_http_ssl_module in nginx.c
		
Linux系统下ngnix使用HTTPS协议启动报错: nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_modul ...
 - 阿里云服务器Centos7上使用Nginx部署https协议的网站
		
1,申请域名证书成功后,下载压缩包,一定要选择Nginx的证书类型,解压后得到一个key文件一个pem文件,将这两个文件上传到服务器的root目录 2,打开nginx配置文件 vim /etc/ngi ...
 - Centos下nginx支持https协议
		
1.首先配置nginx及其他插件,这个Google下,很多配置方案. 2.配置服务器的证书.操作步骤如下: [root@localhost ~]# cd /etc/pki/tls/certs [roo ...
 - nginx使用https协议
		
效果: nginx添加ssl模块 ./configure --with-http_ssl_module 生成证书 openssl genrsa -out ca.key 2048 openssl req ...
 - nginx的https环境如何配置
		
http://www.cnblogs.com/yanghuahui/archive/2012/06/25/2561568.html http://www.fzb.me/2015-1-15-openss ...
 - nginx的https代理http配置
		
http { upstream https2http_proxy{ server 192.168.22.103:80; } server { listen 1443 ssl; server_name ...
 
随机推荐
- CentOS 6.3中安装OpenCV2.3.1
			
下面为自己测试可用的OpenCV在Linux下的安装步骤 .检查并安装相关程序,确保gtk安装成功,否则无法显示图片 yum install gcc-c++ yuminstall gtk-devel. ...
 - Mybatis分页插件PageHelper正确的用法(网上有2篇不够科学的文章)
			
今天下午在Mybatis项目中.实现分页.由于我是后加入项目中的,Leader用的是PageHelper这个组件.可是我在实际使用的过程中遇到了2个大问题. 1.p=2#comments" ...
 - 关于sed的应用
			
公司让我做一个看一下在优化的程序和比原来的程序快多少,但是文件还在运行的服务器上,我需要把用到的文件复制到测试服务器上去.但是测试服务器上有的,目录不全,会导致scp出错.就发生了以下的故事. 首选我 ...
 - 用JS来计算百钱买百鸡
			
怎样用一百块买一百只鸡?已知公鸡5块一只,母鸡3块一只,小鸡一块钱3只: 需要用到for循环嵌套,并且通过优化代码,可以加快运行效率. <!DOCTYPE html> <html l ...
 - hdu2588 gcd 欧拉函数
			
GCD Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
 - adb安装和卸载apk的方式
			
昨天在使用adb卸载程序,结果死活卸载不了.我输入的命令和系统提示如下: D:\testApk>adb uninstall HelloWorld Failure 后来发现原来卸载程序时,只adb ...
 - 【转】10 个迅速提升你 Git 水平的提示
			
最近我们推出了两个教程:熟悉Git的基本功能和让你在开发团队中熟练的使用Git . 我们所讨论的命令足够一个开发者在Git使用方面游刃有余.在这篇文章中,我们试图探索怎样有效的管理你的时间和充分的使用 ...
 - git:hook declined FATAL: W refs/heads DENIED by fallthru error
			
hook declined FATAL: W refs/heads DENIED by fallthru error git提交代码时报错,网上查了,最终结果竟然是测试人员没有给我配置写的权限,配置了 ...
 - 了不起的分支和循环03 - 零基础入门学习Python009
			
了不起的分支和循环03 让编程改变世界 Change the world by program while循环 说完了分支我们来说说循环,标准的while循环语法我们已经可以熟悉掌握了. 这里我们就简 ...
 - DataTables给每一列添加下拉框搜索
			
$(document).ready(function() { $('#example').DataTable( { initComplete: function () { var api = this ...