企业网站的SSL签证生产测试以及https配置方法
这一次要做企业网站怎么获得安全的数字证书,没有数字证书的话,在浏览器访问网站的时候会跳出不安全界面,而且钓鱼网站也会让用户进去个假网站,一般企业可以去阿里云去买数字证书,买好之后浏览器便会加载这个数字证书,用户便能安全访问。若出现钓鱼网站,浏览器会检测出来,提醒用户这是个钓鱼网站,不要进入。接下来做一个测试环境的测试,在测试环境下自己可以CA机构,颁发CA证书,操作步骤如下
环境准备:源码安装好了nginx,且已经设置好了nginxctl的控制命令,不知道的可以看之前的文章,做一个脚本,就不需要用绝对路径的方式去启动nginx命令
[root@nginx /]# mkdir certificate #创造一个存放证书的目录
[root@nginx /]# cd certificate/
[root@nginx /]# yum -y install openssl openssl-devel #安装ssl的包,这样就可以生成
证书
[root@nginx certificate]# openssl req \ #申请颁发数字证书
> -newkey rsa:4096 -nodes -sha256 -keyout ca.key
> -x509 -days 365 -out ca.crt
Generating a 4096 bit RSA private key
...............................................++
..............++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will
be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:GD
Locality Name (eg, city) [Default City]:SZ
Organization Name (eg, company) [Default Company Ltd]:QF
Organizational Unit Name (eg, section) []:pycloud
Common Name (eg, your name or your server's hostname) []:www.qffcc.com
Email Address []:1442693983@qq.com
[root@nginx certificate]#openssl req \ #CA颁发证书,CA机构就会把用户申请的信息加载到存放数字证书的数据库里,跟上述步骤一样就不做演示
> -newkey rsa:4096 -nodes -sha256 -keyout qffcc.com.key
> -out qffcc.com.csr
[root@nginx certificate]#openssl x509 -req -days 365 -in qffcc.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out qffcc.com.crt#把签好的证书和密钥发送给浏览器,出现以下结果代表成功
Signature ok
subject=/C=CN/ST=GD/L=SZ/O=QF/OU=qfcloud/CN=www.qffcc.vom/emailAddress=1442693983@qq.com
Getting CA Private Key
[root@nginx certificate]# ls #下面这些文件就是获得证书之后得到的,主要需要qffcc.com.crt qffcc.com.key放到nginx的配置文件里
ca.crt ca.srl -out qffcc.com.csr -x509
ca.key -newkey qffcc.com.crt qffcc.com.key
[root@nginx opt] cd nginx-1.16.1/ #cd到你解压的nginx文件夹
[root@nginx nginx-1.16.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module#重新编译,加载第三方模块
[root@nginx nginx-1.16.1]# make
[root@nginx nginx-1.16.1]# echo $? #是否安装成功,0的话代表成功
0
[root@nginx nginx-1.16.1]# rm -rf /usr/local/nginx/sbin/nginx #因为已经重新编译好了,所以要把新的替换上去,先删掉之前的nginx命令
[root@nginx nginx-1.16.1]# cp objs/nginx /usr/local/nginx/sbin/nginx #替换原来的nginx,换成加载了ssl模块的nginx命令
[root@nginx nginx-1.16.1]# ps aux|grep nginx #检查nginx服务是否正在运行
root 93196 0.0 0.1 45992 1136 ? Ss 07:06 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 93197 0.0 0.6 50324 6032 ? S 07:06 0:00 nginx: worker process
nginx 93198 0.0 0.6 50324 6032 ? S 07:06 0:00 nginx: worker process
root 106162 0.0 0.0 112708 984 pts/0 R+ 15:14 0:00 grep --color=auto nginx
[root@nginx nginx-1.16.1]# kill -9 93196 #因为要重新加载,所以要把之前的全部删去
[root@nginx nginx-1.16.1]# kill -9 93197
[root@nginx nginx-1.16.1]# kill -9 93198
[root@nginx nginx-1.16.1]# ps aux|grep nginx #以下代表删除干净
root 106692 0.0 0.0 112708 984 pts/0 R+ 15:14 0:00 grep --color=auto nginx
[root@nginx nginx-1.16.1]# mkdir /usr/local/nginx/httpskey
[root@nginx nginx-1.16.1]# cp /certificate/qffcc.com.* /usr/local/nginx/httpskey/ #把颁发的证书拷到nginx目录,方便配置文件加载
[root@nginx nginx-1.16.1]# vi /usr/local/nginx/conf/nginx.conf #修改配置文件
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
include /usr/local/nginx/conf.d/*.conf; #主要是加这个地方,把配置文件加载进去,所以要建立conf.d的这个文件夹
}
[root@nginx nginx-1.16.1]#mkdir /usr/local/nginx/conf.d
[root@nginx nginx-1.16.1]#vi /usr/local/nginx/conf.d/qffccjump.conf #创建的第一个配置文件,内容如下,主要用于跳转,由80端口跳转443端口
server {
listen 80;
server_name www.qffcc.com;
location = / {
rewrite ^(.*) https://www.qffcc.com/$1 permanent;
}
location / {
rewrite ^(.*) https://www.qffcc.com/$1 permanent;
}
}
[root@nginx nginx-1.16.1]#vi /usr/local/nginx/conf.d/qffcc.com.conf
server {
listen 443;
server_name www.qffcc.com; #需要修改成你申请的域名
ssl on;
ssl_certificate /usr/local/nginx/httpskey/qffcc.com.crt;证书地址
ssl_certificate_key /usr/local/nginx/httpskey/qffcc.com.key;#密钥地址
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/nginx/html;#html目录
index index.php index.html index.htm;
}
location ~ \.php$ {
root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;#设置回环地址,不是nginx服务器的地址
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[root@nginx conf]# nginxctl start #启动nginx服务
#上面就已经全部配置完成了,这时候你需要修改mac或者你windows的hosts配置文件,设置域名解析,把虚拟机的nginx服务器的ip 和域名对应上,mac的是在/etc/hosts里。由于它设置了权限,所以需要使用授权,sudo vim /etc/hosts 增加192.168.86.138 www.qffcc.com 保存退出之后,使用本机的浏览器去访问这个www.qffcc.com这个域名就可以访问到了,不过会提示安全问题,强行还是可以进去的。
企业网站的SSL签证生产测试以及https配置方法的更多相关文章
- 【读书笔记《Bootstrap 实战》】4.企业网站
上一章有对个人作品站点进行一些优化.本章,轮到我们充实这个作品站点了,补充一些项目,从而展示我们的能力.换句话说,我们要构建一个相对复杂的企业网站主页. 下面有几个成功企业的网站: □ Zappos ...
- 使用openSSL开源工具进行SSL/TLS 安全测试
本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题.目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / S ...
- 【php】随缘php企业网站管理系统V2.0 shownews.php注入漏洞
程序名称:随缘网络php企业网站管理系统2.0免费版 以下为系统的功能简介: 1.采用div+css布局经测试兼容IE及firefox主流浏览器,其他浏览器暂未测试. 2.产品新闻三级无限分类. 3. ...
- SSL/TLS 安全测试
本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题.目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / S ...
- 【Bootstrap】4.企业网站(待续)
上一章有队个人站点站点进行一些优化.本章,轮到我们充实这个作品站点了,补充一些项目,从而展示我们的能力.话句话说,我们要构建一个相对复杂的企业网站主页. 下面有几个成功企业的网站: □ Zappos ...
- 20个最漂亮的基于WordPress的企业网站
20个最漂亮的基于WordPress的企业网站 每个人都知道很好很强大的WordPress是开源的,并且有一个很强的的团队和更强大的支持社区.它被世界上的广大设计师.程序员和商业人员广泛使用.它已经成 ...
- 小型工厂企业网站究竟该怎么做好SEO优化,从而带来更多订单?
中 小企业以及小型工厂做好SEO工作,每年从SEO带来的订单量还是很可观的,随着互联网的蓬勃发展,越来越多的小型工厂型企业网站开始逐渐走向互联网营 销,开始逐渐利用互联网开展销售工作!但是大部分的工厂 ...
- 网站启动SSL, http变为https后,session验证码错误解决方法
网站启动SSL, http变为https后,session验证码错误解决方法 最近公司需要后台启动安全证书,证书安装完毕后,后台老提示 验证码错误,经过几天的研究,此问题已经得到有效解决,现把方法 ...
- 响应式Asp.net MVC企业网站源码
最近时间充裕,自己写了一个响应式MVC企业网站系统,用于回顾自己的MVC知识.网站源码后台和前台都采用响应式布局,可以适应不同的屏幕. 一.源码描述 响应式企业网站系统,前台和后台都采用了响应式布局, ...
随机推荐
- es之主分片和复制分片的交互过程
1:索引(创建或者删除)一个文档 首先:发送一个索引或者删除的请求给node1 其次:node1接收到请求之后,会根据请求中携带的参数“文档id”判断出该文档应该存储在具体哪一个shard中 shar ...
- CANopen的相关学习
CANopen是一种架构在控制局域网路(Controller Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线. ...
- Spring mvc注解说明
编号 注解 说明 位置 备注 1 @Controller 将类变成Spring Bean 类 现阶段 @Controller . @Service 以及 @Repository 和 @Componen ...
- sql语句exists 用法
参考:SQL语句exists用法,Sql语句中IN和exists的区别及应用 现在有三张表 学生表S: sno ,sname 课程表C:cno ,cname 学生选课表SC: sno ,cno 查询选 ...
- 使用python脚本部署mariadb主从架构
环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. grant all on *.* to root@'%' iden ...
- Gradle之Android Gradle Plugin 主要流程分析(二)
[Android 修炼手册]Gradle 篇 -- Android Gradle Plugin 主要流程分析 预备知识 理解 gradle 的基本开发 了解 gradle task 和 plugin ...
- sentos7忘记root密码,重置密码
一.两种模式:单用户模式和救援模式 下面示例救援模式 1.重启linux系统主机并出现引导界面,按e键进入内核编辑界面: 2.在linux16参数那一行的最后面追加“rd.break”参数,记住要空开 ...
- 【Python】我的豆瓣短评爬虫的多线程改写
对之前我的那个豆瓣的短评的爬虫,进行了一下架构性的改动.尽可能实现了模块的分离.但是总是感觉不完美.暂时也没心情折腾了. 同时也添加了多线程的实现.具体过程见下. 改动 独立出来的部分: MakeOp ...
- Go语言入门篇-环境准备
一.GO语言特点 静态类型:首先要明确变量类型,如上所示. 编译型:指GO语言要被编译成机器能识别机器代码. GO语言开源. 编程范式:支持“函数式”和“面向对象” GO语言原生的支持并发编程:即GO ...
- 20191127 Spring Boot官方文档学习(4.11)
4.11.使用NoSQL技术 Spring Data提供了其他项目来帮助您访问各种NoSQL技术,包括: Redis MongoDB Neo4J Solr Elasticsearch Cassandr ...