nginx实现https网站设置
1.https简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据2.https协议原理首先,客户端与服务器建立连接,各自生成私钥和公钥,是不同的。服务器返给客户端一个公钥,然后客户端拿着这个公钥把要搜索的东西加密,称之为密文,并连并自己的公钥一起返回给服务器,服务器拿着自己的私钥解密密文,然后把响应到的数据用客户端的公钥加密,返回给客户端,客户端拿着自己的私钥解密密文,把数据呈现出来
注意:一般生成的目录,应该放在nginx/conf/ssl目录1.创建服务器证书密钥文件 server.key:openssl genrsa -des3 -out server.key 1024输入密码,确认密码,自己随便定义,但是要记住,后面会用到。2.创建服务器证书的申请文件 server.csropenssl req -new -key server.key -out server.csr输出内容为:
Enter
pass phrase for root.key: ← 输入前面创建的密码
Country Name (2 letter code) [AU]:CN ←
国家代号,中国输入CN
State or Province Name (full name) [Some-State]:BeiJing ←
省的全名,拼音
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音
Organization Name
(eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
Organizational Unit Name (eg, section) []: ← 可以不输入
Common Name (eg, YOUR
name) []: ← 此时不输入
Email Address []:admin@mycompany.com ← 电子邮箱,可随意填
Please
enter the following ‘extra’ attributes
to be sent with your certificate
request
A challenge password []: ← 可以不输入
An optional company name []: ←
可以不输入4.备份一份服务器密钥文件cp
server.key server.key.org5.去除文件口令openssl
rsa -in server.key.org -out server.key6.生成证书文件server.crtopenssl
x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
1.下面为配置文件 /usr/local/nginx/conf/vhost/daj.conf
server{
#比起默认的80
使用了443 默认 是ssl方式 多出default之后的ssl
listen 443 default ssl;
#default
可省略
#开启 如果把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用
ssl
on;
#证书(公钥.发送到客户端的)
ssl_certificate
ssl/server.crt;
#私钥,
ssl_certificate_key
ssl/server.key;
#下面是绑定域名
server_name www.daj.com;
location /
{
#禁止跳转
proxy_redirect off;
#代理淘宝
proxy_pass https://www.tao.com/;
}
}
1.the "ssl" parameter requires ngx_http_ssl_module in
/usr/local/nginx/conf/nginx.conf:37原因是nginx缺少http_ssl_module模块,编译安装时带上--with-http_ssl_module配置就可以了2.如果已经安装过nginx,想要添加模块看下面1)切换到nginx源码包cd
/usr/local/src/nginx-1.11.32)查看ngixn原有的模块/usr/local/nginx/sbin/nginx
-V3)重新配置./configure
--prefix=/usr/local/nginx --with-http_stub_status_module
--with-http_ssl_module4)重新编译,不需要make
install安装。否则会覆盖make5)备份原有已经安装好的nginxcp
/usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak6)将刚刚编译好的nginx覆盖掉原来的nginx(ngixn必须停止)cp
./objs/nginx /usr/local/nginx/sbin/这时,会提示是否覆盖,请输入yes,直接回车默认不覆盖7)启动nginx,查看nginx模块,发现已经添加/usr/local/nginx/sbin/nginx
-V
nginx实现https网站设置的更多相关文章
- Nginx实现https网站配置
咱们下面以google代理实现的方式来实现https.注意这里的https与google的https无关. 代码如下.有备注/usr/local/nginx/config/vhost/hk.cn331 ...
- 在CentOS上安装Nginx配置HTTPS并设置系统服务和开机启动(最全教程)
友情提示:全部配完大约需要20分钟,本教程配合 xshell 和 xftp 使用更佳. 系统配置:CentOS 7.5 本教程 摘繁华 版权所有. 操作按键 常用按键: 复制操作:Shift+Ins ...
- [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合 ...
- Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合 ...
- nginx https ssl 设置受信任证书[转然哥]
nginx https ssl 设置受信任证书[原创] 1. 安装nginx 支持ssl模块 http://nginx.org/en/docs/configure.html yum -y instal ...
- Nginx自建SSL证书部署HTTPS网站
一.创建SSL相关证书 1.安装Nginx(这里为了测试使用yum安装,实际看具体情况) [root@localhost ~]# yum install nginx -y #默认yum安装已经支持SS ...
- Ubuntu Nginx下配置网站ssl实现https访问
最近在看 HTTP权威指南 看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下 HTTPS简介 什么是HTTPS?百科是这样解释的.HTTPS(全称:Hyper Text Trans ...
- Nginx 安装及配置、负载均衡https网站及转发后页面js、css等路径找不到问题、更换证书导致问题解决
官网下载nginx:http://nginx.org/en/download.html 安装nginx编译环境:yum install -y gcc-c++ 安装pcre库解析正则:yum insta ...
- nginx 的多域名多https转发设置方法【转】
version: 1.1(fixed) 修正一些错误基本环境:/etc/nginx/nginx.conf #保持/etc/nginx/ssl/ #ssl认证文件/etc/nginx/site-a ...
随机推荐
- 一文看懂HTTPS的核心知识
1.HTTPS历史 由于HTTP的消息传输的安全隐患,于是网景公司在1994年设计了SSL(Secure Sockets Layer,安全套接字层)协议,目的是保障网上交易安全,从而就诞生了HTTPS ...
- 【阿里云】在 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务
Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...
- WebLogic使用总结
一. WebLogic安装 WebLogic使用总结(一)——WebLogic安装 一.下载WebLogic 到Oracle官网http://www.oracle.com/ 下载WebLogic(根据 ...
- Android 7.0及以上使用OpenCL
由于从Android 7.0, API 24, 开始, 系统将阻止应用链接至非公开NDK库, 所以, 使用libOpenCL.so时与面向低版本的Android平台有所不同, 需要把依赖的非公开NDK ...
- C#自定义FTP访问类的代码
如下资料是关于C#自定义FTP访问类的代码,应该对各朋友有帮助. using System; using System.Collections.Generic; using System.Text; ...
- https协议详解
HTTPS协议建立过程 1) 客户端首次发送请求时,由于客户端(浏览器等)对一些加解密算法的支持程度不一样,但是在TLS传输中必须使用相同的加解密算法,所以在TLS握手的阶段,客户端告诉服务器端自己支 ...
- 【Python 23】52周存钱挑战3.0(循环计数for与range)
1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...
- Kafka设计解析(七)- Kafka Stream
本文介绍了Kafka Stream的背景,如Kafka Stream是什么,什么是流式计算,以及为什么要有Kafka Stream.接着介绍了Kafka Stream的整体架构,并行模型,状态存储,以 ...
- TableExistsException: hbase:namespace
解决:zookeeper还保留着上一次的Hbase设置,所以造成了冲突.删除zookeeper信息,重启之后就没问题了 1.切换到zookeeper的bin目录: 2.执行$sh zkCli.sh 输 ...
- git-将dev代码合并到test
1. 在dev分支上刚开发完项目,执行以下命令: git add git commit -m 'dev' git push -u origin dev 2.切换到test分支上 如果是多人开发,先把远 ...