nginx高级应用--------搭建https(SSL/TLS)
2017-01-04 17:37
459 查看
前言:HTTPS是什么?
超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定。HTTPS连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输。HTTPS不应与在RFC 2660中定义的安全超文本传输协议(S-HTTP)相混。
HTTPS 目前已经是所有注重隐私和安全的网站的首选,随着技术的不断发展,HTTPS 网站已不再是大型网站的专利,所有普通的个人站长和博客均可以自己动手搭建一个安全的加密的网站。 如果一个网站没有加密,那么你的所有帐号密码都是明文传输。可想而知,如果涉及到隐私和金融问题,不加密的传输是多么可怕的一件事。
首先,进入你想创建证书和私钥的目录,例如:$ cd /usr/local/nginx/conf
创建服务器私钥,命令会让你输入一个口令:$ openssl genrsa -des3 -out server.key 1024
创建签名请求的证书(CSR):$ openssl req -new -key server.key -out server.csr
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
修改Nginx配置文件,让其包含新标记的证书和私钥:server {
listen 443;
server_name lisea.cn;
index index.html index.htm;
root /mnt/wwwroot/fm
#ssl
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM- SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
#访问永久重写向至443端口
server {
listen 80;
server_name lisea.cn;
rewrite ^(.*) https://$server_name$1 permanent;
}
以需求驱动技术,技术本身没有优略之分,只有业务之分。
超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定。HTTPS连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输。HTTPS不应与在RFC 2660中定义的安全超文本传输协议(S-HTTP)相混。
HTTPS 目前已经是所有注重隐私和安全的网站的首选,随着技术的不断发展,HTTPS 网站已不再是大型网站的专利,所有普通的个人站长和博客均可以自己动手搭建一个安全的加密的网站。 如果一个网站没有加密,那么你的所有帐号密码都是明文传输。可想而知,如果涉及到隐私和金融问题,不加密的传输是多么可怕的一件事。
1. 生成证书(可选, 有证书直接进入下一步)
可以通过以下步骤生成一个简单的证书:首先,进入你想创建证书和私钥的目录,例如:$ cd /usr/local/nginx/conf
创建服务器私钥,命令会让你输入一个口令:$ openssl genrsa -des3 -out server.key 1024
创建签名请求的证书(CSR):$ openssl req -new -key server.key -out server.csr
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
2. 配置nginx(测试域名lisea.cn)
最后标记证书使用上述私钥和CSR:$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt修改Nginx配置文件,让其包含新标记的证书和私钥:server {
listen 443;
server_name lisea.cn;
index index.html index.htm;
root /mnt/wwwroot/fm
#ssl
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM- SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
#访问永久重写向至443端口
server {
listen 80;
server_name lisea.cn;
rewrite ^(.*) https://$server_name$1 permanent;
}
3. 重启nginx
service nginx reload4. 访问测试(https://lisea.cn)
以需求驱动技术,技术本身没有优略之分,只有业务之分。
相关文章推荐
- win10系统iis下部署搭建https (ssl/tls)本地测试环境
- Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- Nginx+HTTPS(SSL/TLS)
- 使用 Startssl 提供的免费证书+Nginx 搭建 https 的网站
- Nginx+SSL搭建 HTTPS 网站
- [WCF安全系列]实例演示:TLS/SSL在WCF中的应用[HTTPS]
- Ubuntu Linux服务器搭建SSL/TLS(https)(在StartSSL可以得到免费证书)
- NGINX 配置 SSL 证书 + 搭建 HTTPS 网站教程
- [置顶] NGINX 配置 SSL 证书 搭建 HTTPS 网站
- [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- TLS/SSL 协议详解 (23) HTTPS实际应用碰到的问题
- Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- 微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
- Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- 阿里云Center OS 6.2 Nginx 配置 SSL/TLS HTTPS配置
- HTTPS协议--HTTPS权威指南:在服务器和Web应用上部署SSL/TLS和PKI (/book/1734)
- Nginx SSL/HTTPS 设置方法
- 详解 Nginx + Tomcat HTTPS/SSL 配置
- 详解 Nginx + Tomcat HTTPS/SSL 配置方法