Nginx把网站反代到二级目录

军哥lnmp,自建一个conf,把www.bbb.com反代到www.aaa.com/bbb/

server {
listen 80;
server_name www.aaa.com;

location ^~ /bbb {

#配合subs_filter替换字段。
#subs_filter_types text/css text/xml;
#subs_filter ‘”/?’ ‘”/bbb/?’ gi;
#subs_filter ‘”/Skin/’ ‘”/bbb/Skin/’ gi;
#subs_filter ‘/css/’ ‘/bbb/css/’ gi;
#subs_filter ‘”/images/’ ‘”/bbb/images/’ gi;
#subs_filter ‘”/Up/’ ‘”/bbb/Up/’ gi;

#替换模块,下文详解。

proxy_cache_key “$scheme://$host$request_uri”;
#缓存key规则,用于自动清除缓存。

proxy_cache cache_one;
#缓存区名称,必须与前面定义的相同

proxy_cache_valid 200 304 3h;
proxy_cache_valid 301 3d;
proxy_cache_valid any 10s;
#200 304状态缓存3小时
#301状态缓存3天
#其他状态缓存(如502 404)10秒

阅读剩余部分 -

factory固件和sysupdate固件区别

OpenWrt编译出来的固件会有2种,factory固件和sysupdate固件,例如:

openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin
openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin

一般说法:

  • 正常使用的是sysupdate固件,factory固件只用于从原厂固件升级到OpenWrt。
  • factory固件多了原厂验证信息。
  • factory固件比sysupdate固件多包含了原厂分区。

参考资料:

未完待续:
目前实际操作使用的都是sysupdate固件,factory固件和sysupdate固件的本质区别等以后深入代码分析后再进行补充。。。

阅读剩余部分 -

Openwrt factory固件/为何先刷factory

为啥

新的刷factory就没错 factory是把firmware区全部写一遍 sysgrade是写固件区

openwrt编译固件一般会出来两个固件:openwrt-XXXXXXX-factory.bin和openwrt-XXXXXXX-sysupgrade.bin.

按照官方的原译是: factory是用来从原厂固件升级到openwrt用的。 sysupgrade是用来给openwrt升级用的。

有趣

某些特殊的时候,factory固件占用3.9mb空间

阅读剩余部分 -

openwrt的sysupgrade和factory固件的区别

openwrt的固件一般分两种类型:factory原厂固件、sysupgrade固件

factory多了一些验证的东西,用于在原厂固件的基础上进行升级。

普通家用路由一般不是openwrt固件,如果要将家用路由升级为openwrt固件,就可以用factory刷到路由上。sysupgrade是在openwrt路由基础上升级固件,无论你是原厂固件或者本身就是openwrt固件,要升级到openwrt,factory都适用,但是sysupgrade只能用在升级,TTL救砖的时候就不能用sysupgrade。sysupgrade不包含数据分区,factory带,factory预留原厂分区,sysupgrade只包含openwrt分区。

阅读剩余部分 -

使用CloudFlare开启HTTP严格传输安全(HSTS)

HTTP Strict Transport Security (通常简称为HSTS, RFC 6797) 是一项网络安全技术,旨在帮助安全的HTTPS的Web服务器免受降级攻击。虽然HSTS能有效抵御网络攻击,但由于部署它相对困难导致这项技术尚未被广泛采用。CloudFlare的目的是改变这一点。

降级攻击(也称为SSL剥离攻击)是Web应用程序的严重威胁。这种类型的攻击是借助中间人发动攻击,攻击者可以将网页浏览器从一个正确配置的HTTPS Web服务器重定向到受Web攻击者控制的Web服务器。一旦攻击者成功地重定向用户,用户的个人隐私数据,包括Cookies,都可能会受到侵害。因为纯粹的SSL加密办法无法抵御这种攻击,所以才催生了HSTS技术。

SSL剥离攻击: 绕过SSL的保护然后发动攻击。

HSTS工作原理: 强制客户端使用 HTTPS 访问网站。过程如下:

  1. 用户第一次访问开启了 HSTS 功能的网站
  2. 在浏览器中留下一个包含 max-age 的HSTS缓存 Strict-Transport-Security
  3. 用户在 max-age 保质期内再次访问网站,浏览器就会根据缓存中的HSTS设置自动跳转到HTTPS页面

CloudFlare提供的HSTS配置参数如下:

  • Enable HSTS (Strict-Transport-Security): On/Off.
  • Max Age (max-age): 即HSTS缓存的“生存时间”。一般建议设置成6个月,这样才能获得 Qualys SSL Labs 的 A+ 评级。Web浏览器会缓存和执行政策HSTS此值的持续时间。如果你将这个值设置为“0”,将会禁用HSTS功能。
  • Apply HSTS Policy to subdomains (includeSubDomains): 将HSTS网站策略应用到每个子域名。

阅读剩余部分 -

生产线上的nginx如何添加未编译安装模块

正在生产线上跑着web前端是nginx+tomcat,现在有这样一个需求,需要对网站的单品页面和列表页设置缓存,不同的页面设置不同的缓存,但是由于开始没有安装ngx_cache_purge这个模块,现在没法直接往配置文件里边写,这时候,就需要在线安装ngx_cache_purge此模块,下边就说下怎么在线编译安装新模块。

安装步骤:

1.首先看下内核和系统的版本号。

1

2

3

4

5

6

7

8
[root@vmware1 ~]# uname -a
Linux vmware1 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
[root@vmware1 ~]# lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 5.8 (Final)
Release:        5.8
Codename:       Final

阅读剩余部分 -

CentOS查看内核版本,位数,版本号

1)[root@localhost ~]# cat /proc/version

Linux version 2.6.18-194.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:14 EDT 2010

2)

[root@localhost ~]# uname -a

linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

3)

[root@localhost ~]# uname -r

2.6.18-194.el5

2. 查看linux版本:

1) 列出所有版本信息,

[root@localhost ~]# lsb_release -a

LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch

Distributor ID: CentOS

Description:    CentOS release 5.5 (Final)

Release:        5.5

Codename:       Final

注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

2) 执行cat /etc/issue,例如如下:

[root@localhost ~]# cat /etc/issue

CentOS release 5.5 (Final)

Kernel r on an m

3) 执行cat /etc/redhat-release ,例如如下:

[root@localhost ~]# cat /etc/redhat-release

CentOS release 5.5 (Final)

查看系统是64位还是32位:

阅读剩余部分 -

微软官方的 Windows + IE 虚拟机镜像

微软官方的虚拟机镜像,用于测试网站在 IE/Edge 下面的显示效果。对于国内用户,正好当作沙盒,专放 BAT 各家的垃圾软件,以及网银。

自带 90 天的激活,到期后再次激活即可,激活方法在虚拟机的桌面上。

https://dev.windows.com/en-us/microsoft-edge/tools/vms/windows/

支持 Windows, Mac, Linux

目前提供的系统 + IE 版本有:

IE6 on XP
IE7 on Vista
IE8 on XP
IE8 on Win7
IE9 on Win7
IE10 on Win7
IE10 on Win8
IE11 on Win81
IE11 on Win7
MSEdge on Win10

镜像格式有

VirtualBox
Vagrant
HyperV
VPC
VMware

阅读剩余部分 -