[web][nginx] 初识nginx -- 使用nginx搭建https DPI解码测试环境
环境 CentOS 7 X86
文档:
安装:
[root@dpdk ~]# cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=
enabled=
[root@dpdk ~]#
[root@dpdk ~]# yum install nginx
配置文件: 默认不需要更改
[root@dpdk ~]# vim /etc/nginx/nginx.conf
[root@dpdk ~]# vim /etc/nginx/conf.d/default.conf
启动:
# nginx
或
# systemctl start nginx
浏览器直接访问即可。
自定义页:拷贝至配置文件指定的目录后,就可以在浏览器中访问了。
[root@dpdk html]# pwd
/usr/share/nginx/html
[root@dpdk html]# ll
total
-rw-r--r--. root root Apr : 50x.html
-rw-r--r--. root root May : index_a.html
-rw-r--r--. root root May : index.html
-rw-r--r--. root root May : lonely.jpg
[root@dpdk html]#
如: http://192.168.7.4/index_a.html
可以设置反向代理,使用 proxy_pass / fastcgi_pass 命令。参见文档。 https://nginx.org/en/docs/beginners_guide.html
配置:
文档已跳转至此处 https://www.nginx.com/resources/admin-guide/?_ga=2.110665989.1403939205.1494566587-476641588.1494561559
如何配https:
https://nginx.org/en/docs/http/ngx_http_ssl_module.html
[root@dpdk ~]# cd /etc/nginx/conf.d/
[root@dpdk conf.d]# touch https.conf
自签名证书:[https][openssl] OpenSSL 公钥、私钥以及自签名证书
生成根证书:
/home/tong/Keys/https [tong@T7] [:]
> openssl genrsa -out root.key
/home/tong/Keys/https [tong@T7] [:]
> openssl req -new -key root.key -out root.csr -subj "/C=CN/ST=BeiJing/L=BeiJing/O=Tartaglia/CN=TTTrust/emailAddress=ca@tartaglia.org"
/home/tong/Keys/https [tong@T7] [:]
> openssl x509 -req -days -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.cer
Signature ok
subject=C = CN, ST = BeiJing, L = BeiJing, O = Tartaglia, CN = TTTrust, emailAddress = ca@tartaglia.org
Getting Private key
用根证书签名服务器证书
/home/tong/Keys/https/test [tong@T7] [:]
> openssl genrsa -out server-key.pem
Generating RSA private key, bit long modulus
..........................................+++
.............................+++
e is (0x010001) /home/tong/Keys/https/test [tong@T7] [:]
> openssl req -new -key server-key.pem -out server.csr -subj "/C=CN/ST=BeiJing/L=BeiJing/O=Tartaglia/OU=onescorpion/CN=TTTrust/emailAddress=ones@tartaglia.org"
/home/tong/Keys/https/test [tong@T7] [:]
> openssl x509 -req -days -sha1 -extensions v3_req -CA ../root/root.cer -CAkey ../root/root.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer
Signature ok
subject=C = CN, ST = BeiJing, L = BeiJing, O = Tartaglia, OU = onescorpion, CN = TTTrust, emailAddress = ones@tartaglia.org
Getting CA Private Key
/home/tong/Keys/https/test [tong@T7] [:]
> openssl x509 -outform der -in server.cer -out pulicserver.ccerrificate.der
/home/tong/Keys/https/root [tong@T7] [:]
> ll
total 12K
-rw-r--r-- tong tong .3K May : root.cer
-rw-r--r-- tong tong .1K May : root.csr
-rw------- tong tong .7K May : root.key
/home/tong/Keys/https/test [tong@T7] [:]
> ll
total 20K
-rw-r--r-- tong tong May : ca.srl
-rw-r--r-- tong tong May : pulicserver.ccerrificate.der
-rw-r--r-- tong tong .3K May : server.cer
-rw-r--r-- tong tong .1K May : server.csr
-rw------- tong tong .7K May : server-key.pem
编辑 https.conf
[root@dpdk conf.d]# cat https.conf
server {
listen ssl;
ssl_certificate /etc/nginx/conf.d/server.cer;
# ssl_certificate_key should be PEM format.
ssl_certificate_key /etc/nginx/conf.d/server-key.pem;
# see 'man ciphers' for detail.
ssl_ciphers 'DEFAULT:!DHE:!ECDHE:!kDHE:!kECDHE:!ECDH';
# ssl_ciphers 'RSA:!NULL';
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
[root@dpdk conf.d]#
---------------- update @ 20170522 (发给同事的邮件) --------------------
使用如下配置,可以启用nginx的https
[root@dpdk conf.d]# cat https.conf
server {
listen 1443 ssl;
ssl_certificate /etc/nginx/conf.d/server.cer;
# ssl_certificate_key should be PEM format.
ssl_certificate_key /etc/nginx/conf.d/server-key.pem;
# see 'man ciphers' for detail.
ssl_ciphers 'DEFAULT:!DHE:!ECDHE:!kDHE:!kECDHE:!ECDH';
# ssl_ciphers 'RSA:!NULL';
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
[root@dpdk conf.d]#
其中,ssl_ciphers 是用来指定加密算法的。
这个选项的参数和语法,是由openssl决定的,默认是 ALL:!COMPLEMENTOFDEFAULT:!eNULL
具体的语法修改,参考手册 man ciphers 里面的 CIPHER STRINGS 章节。
禁用PFS的途径实际上就是禁用PFS算法,一般带ECDHE / DHE
关键字的算法,都是PFS的。通过测试,我选用了如下关键字,你可以多尝试一下:
'DEFAULT:!DHE:!ECDHE:!kDHE:!kECDHE:!ECDH';
另外,使用如下命令,可以查看你的参数,选用了什么算法:
/home/tong/VM/base [tong@T7] [17:39]
> openssl ciphers -v 'ALL:!COMPLEMENTOFDEFAULT:!eNULL'
[web][nginx] 初识nginx -- 使用nginx搭建https DPI解码测试环境的更多相关文章
- https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...
- 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security Socket Layer)全称 ...
- 【Head First Servlets and JSP】笔记6:什么是响应首部 & 快速搭建一个简单的测试环境
搭建简单的测试环境 什么是响应首部 最简单的响应首部——Content-Type 设置响应首部 请求重定向与响应首部 在浏览器中查看Response Headers 1.先快速搭建一个简单的测试环境, ...
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)
原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)-转帖篇
原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...
- Web前端页面的浏览器兼容性测试心得(二)搭建原汁原味的IE8测试环境
如果你做的页面被老板或PM要求兼容IE8,你就值得同情了.IE8不支持HTML5,在2017年的前端界,开发者不涉及HTML5标准简直寸步难行.然而,有一个可怕的事实客观存在,那就是IE8是Win7系 ...
- win7 windows server 2008R2下 https SSL证书安装的搭配(搭配https ssl本地测试环境)
原文:http://www.cnblogs.com/naniannayue/archive/2012/11/19/2776948.html 要想成功架设SSL安全站点关键要具备以下几个条件. 1.需要 ...
- App自动化测试探索(二)MAC环境搭建iOS+Python+Appium测试环境
环境搭建要求,MAC 机器一台,要求 Xcode 8.0以上 1. 安装 Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.github ...
- VMware搭建Oracle 11g RAC测试环境 For Linux
环境如下: Linux操作系统:Centos 6.5 64bit (这个版本的redhat 6内核等OS在安装grid最后执行root.sh时会出现crs-4124,是oracle11.2.0.1的b ...
随机推荐
- 【Android】GPS定位基本原理浅析
位置服务已经成为越来越热的一门技术,也将成为以后所有移动设备(智能手机.掌上电脑等)的标配.而定位导航技术中,目前精度最高.应用最广泛的,自然非GPS莫属了.网络上介绍GPS原理的专业资料很多,而本文 ...
- Asp.Net MVC EF查询部分字段
例如新闻表中有几十个字段,而我们只需要显示标题和时间2个字段 如果是再Controller中查询使用的话比较简单 public string ceshi() { dbEntities db = new ...
- Java8 中增强 Future:CompletableFuture
增强的 Future:CompletableFuture CompletableFuture(它实现了 Future 接口) 和 Future 一样,可以作为函数调用的契约.当你向它请求获得结果,如果 ...
- uboot i2c 操作函数记录
I2C 在 u-boot 上面,有直接操作 I2C 的函数 // drivers/i2c/i2c_core.c // 设置在哪个 I2C bus 上工作 276 int i2c_set_bus_num ...
- Go Revel - i18n(国际化)
##Messages `Messages`信息是对内容提供翻译的外部文本片段.revel提供了组织每一种语言文本片段的message文件.自动区域查找.基于cookie覆盖的消息嵌套和参数. 术语表: ...
- 【javascript】console 让 js 调试更简单
浏览器的控制台(console)是最重要的面板,主要作用是显示网页加载过程中产生各类信息. 显示信息 console.log('hello world'); console.debug('debug' ...
- Leaflet API翻译
转自: http://jsrookie.iteye.com/blog/2318972(上) http://jsrookie.iteye.com/blog/2318973(下) L.Map API各种类 ...
- R语言中的横向数据合并merge及纵向数据合并rbind的使用
R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...
- Oracle调整内存超出限制出现ORA-27100: shared memory realm already exists问题解决办法
今天测试服务器遇到问题 ORA-04030:out of process memory when trying to allocate string bytes 一看就猜到是内存不足了,把Oracle ...
- java+Quartz实现定时任务
1.首先:导入quartz相关的jar包,这里我用的是maven构建的项目,pom.xml文件导入如下: <dependency> <groupId>org.quartz-sc ...