nginx 采用https 协议通信配置
2016-11-03 15:58
225 查看
在网络通信中,使用抓包软件可以对网络请求进行分析,并进行重放攻击,重放攻击的解决方案一般是使用一个变化的参数,例如RSA加密的时间戳,但考虑到网络传输时延,时间戳需要有一定的误差容限,这样仍然不能从根本上防止重放攻击。想要较好的解决重放攻击问题,应考虑使用HTTPS通信,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
对于用浏览器访问的网站,需要向CA申请证书才能保证HTTPS的网页被正常的浏览,否则会被警告是不安全或者未认证的网站,而对于一些后台数据的传输,使用自签署的证书即可。
在服务器的命令行下进行如下操作
①生成服务端的私钥,需要输入一个4~8191位的密码
②去除key文件的密码,这里需要输入①中填写的密码
③生成csr文件,这一步要求输入多种信息,可以全部按回车跳过
④生成crt文件,这一步中的-days后为有效期,可以写长一点
⑤合并crt与key制作pem,用于后面生成cer以供客户端验证
⑥用pem生成cer,cer文件存放在客户端用于验证
配置nginx:
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端口。
配置完成后重新加载配置文件
对于用浏览器访问的网站,需要向CA申请证书才能保证HTTPS的网页被正常的浏览,否则会被警告是不安全或者未认证的网站,而对于一些后台数据的传输,使用自签署的证书即可。
服务端的配置
生成证书在服务器的命令行下进行如下操作
①生成服务端的私钥,需要输入一个4~8191位的密码
openssl genrsa -des3 -out server.key 2048
②去除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 365 -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 443; 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
相关文章推荐
- Linux下nginx配置https协议访问的方法
- 解决Nginx配置http2不生效,谷歌浏览器仍然采用http1.1协议问题
- Linux下nginx配置https协议访问的方法
- 服务器配置nginx和tomcat都使用https协议
- linux系统nginx服务器上配置https协议
- nginx+openssl配置https协议需要注意的问题
- Linux下nginx配置https协议访问
- Linux下nginx配置https协议访问的方法
- 阿里云上,Ubuntu下配置Nginx,在tomcat中加了https协议就不可以了
- Nginx配置HTTPS协议
- 网站使用https协议以及在nginx的配置
- Nginx配置支持https协议-应用实践
- nginx配置https协议
- Linux下nginx配置https协议访问
- magento paypal 禁止 sslv3, 采用TLS 协议,nginx需要做的更改。(只针对https)
- nginx简单配置同时支持微信小程序https/wss协议
- Tomcat 配置 https 协议
- nginx + php + https 配置用例
- nginx使用ssl模块配置HTTPS支持
- Nginx + https + 免费SSL证书配置指南