HTTP 413错误解决方法

这是由于上传文件过大引起的,排查服务器是否有使用nginx做反向代理;(我这里是)

解决方案:

修改nginx配置文件,配置客户端请求大小和缓存大小

输入命令:

  vim /etc/nginx/nginx.conf

在http{}中输入:

        client_max_body_size 8M;(配置请求体缓存区大小, 不配的话) 
        client_body_buffer_size 128k;(设置客户端请求体最大值) 
        fastcgi_intercept_errors on;

重启nginx服务:

  service nginx restart

后端服务也可能设置有body大小限制,也要注意修改。

curl: (35) SSL connect error的解决方法

 之前在服务器需要访问一个外部接口,可是执行程序后一直没结果返回,程序内是使用curl去访问的。想了一下,会不会是连接的问题,于是直接在命令行执行 curl 接口地址,结果直接报错,出现了curl: (35) SSL connect error的错误。搜索了一下解决方法,在此记录一下。

1.先升级nss (Network Security Service, 网络安全服务)

yum update nss

如果没有nss,则需要安装nss服务

yum install nss

2.更新/安装完成后,重启一下php-fpm(因为我的程序是php写的,所以这里需要重启一下)

service php-fpm restart

完成以上两步操作后,便可解决SSL connect error。

作者:钧辉
链接:https://www.jianshu.com/p/fecf609ae55b
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

路由策略和策略路由

路由策略
1.什么是路由策略?
路由策略(Routing Policy)的作用是当路由器在发布、接收和引入路由信息时,可根据实际组网需要实施一些策略,以便对路由信息进行过滤或改变路由信息的属性,如:

控制路由的发布:只发布满足条件的路由信息

控制路由的接受:只接收必要、合法的路由信息、以控制路由表的容量,提高网络的安全性。

过滤和控制引入的路由:一种路由协议在引入其他路由协议时,只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置,以使其满足协议的要求。

设置特定路由的属性:为通过的路由策略过滤的路由设置相应的属性。

2.路由策略的实现需要哪些步骤?
@定义规则:首先要定义将要实施路由策略的路由信息特征,即定义一组匹配规则,可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、AS号等;

@应用规则:根据设置的匹配规则,再将它们应用于路由的发布、接收和引入等过程中。

目前提供了如下几种过滤器供路由协议引用: 访问控制列表; 地址前缀列表; AS路径过滤器; 团体属性过滤器; 扩展团体属性过滤器; 路由标识属性过滤器。

策略路由
1.什么是策略路由?
策略路由(Policy Based Routing)与单纯依照IP报文的目的地址查找路由表进行转发有所不同,它是一种依据用户制定的策略而进行流量转发的机制。

2.策略路由有几种类型?
@本地策略路由:对本设备发送的报文实现策略路由,比如本机下发的ICMP、BGP等协议报文,。

当用户需要实现不同源地址的报文或者不同长度的报文通过不同的方式进行发送时,可以配置本地策略路由。

@接口策略路由:对本地设备转发的报文生效,对本机下发的报文不生效。

当用户需要将收到的某些报文通过特定的下一跳地址进行转发时,需要配置接口策略路由。使匹配重定向规则的报文通过特定的下一跳出口进行转发,不匹配重定向规则的报文根据路由表直接转发。接口策略路由多应用于负载分担和安全监控。

常用Traffic-Policy工具来实现。

@智能策略路由:基于链路质量信息为业务数据流选择最佳链路。

当用户需要为不同业务选择不同质量的链路时,可以配置智能策略路由。

常用Smart-Policy-Route工具来实现。

路由策略和策略路由有什么区别?
路由策略是通过修改路由条目来控制路由信息的接收和引入,策略路由是直接根据用户制定的策略进行转发。(策略路由的查找优先级比路由策略高)。

! 路由器存在两种类型的表:一个是路由表(Routing-table),另一个是转发表(Fowarding-table),转发表是由路由表映射过来的,策略路由直接作用于转发表,路由策略直接作用于路由表。由于转发在底层,路由在高层,所以直接作用在转发表的转发优先级比查找路由转发的优先级高。

路由策略是在路由发现的时候作用的,并根据一些规则,使用某种策略来影响路由发布、接受或路由选择的参数,从而改变路由发现的结果,从而最终改变路由表内容;策略路由实在数据包转发的时候发生作用,不改变路由表中的任何内容,他它可以通过设置的规则影响数据报文的转发。

———————
作者:hjk_fei
来源:CSDN
原文:https://blog.csdn.net/hjk_fei/article/details/83068962
版权声明:本文为博主原创文章,转载请附上博文链接!

怎么确定路由的来回路径不一致

大家平时在工作中有没有碰到过A,B之间的来回路径不一致问题,我们可以通过用tracert -d + 目的IP的方式来追踪路由,对比A至B,B至A节点的tracert 路径,对比经过的节点,看是否公司内部如有来回路径是否一致。

路由路径不一致,采用策略路由

问题
host1 172.16.1.4 去访问host2 172.1.101.6(俩子网三层可达),路径不一致,不可达。
原因
host1 172.16.1.4访问到host2 172.16.101.6,host2 reply时,看到src_ip为172.16.1.4,与自己eth0的地址在同一子网,就直接使用eth0口送出报文,导致路径不一致。

环境拓扑
host1:  eth0 :  172.16.1.4/24     gw 172.16.1.1
host2:   eth0: 172.16.1.6/24    gw  172.16.1.1

eth1: 172.16.101.6/24

host2配置修改
1.  /etc/syconfig/network-scripts/route-eth1

172.16.101.0/24 dev eth1 table 101

default via 172.16.101.1 table 101

2. /etc/sysconfig/network-scripts/rule-eth1

from 172.16.101.0/24  table 101          (此处推荐只配置自己本机ip:172.16.101.6)

3. systemctl restart network
———————
作者:EvanKevin
来源:CSDN
原文:https://blog.csdn.net/u013018618/article/details/80095059
版权声明:本文为博主原创文章,转载请附上博文链接!

路由策略和策略路由

路由策略
1.什么是路由策略?
路由策略(Routing Policy)的作用是当路由器在发布、接收和引入路由信息时,可根据实际组网需要实施一些策略,以便对路由信息进行过滤或改变路由信息的属性,如:

控制路由的发布:只发布满足条件的路由信息

控制路由的接受:只接收必要、合法的路由信息、以控制路由表的容量,提高网络的安全性。

过滤和控制引入的路由:一种路由协议在引入其他路由协议时,只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置,以使其满足协议的要求。

设置特定路由的属性:为通过的路由策略过滤的路由设置相应的属性。

2.路由策略的实现需要哪些步骤?
@定义规则:首先要定义将要实施路由策略的路由信息特征,即定义一组匹配规则,可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、AS号等;

@应用规则:根据设置的匹配规则,再将它们应用于路由的发布、接收和引入等过程中。

目前提供了如下几种过滤器供路由协议引用: 访问控制列表; 地址前缀列表; AS路径过滤器; 团体属性过滤器; 扩展团体属性过滤器; 路由标识属性过滤器。

策略路由
1.什么是策略路由?
策略路由(Policy Based Routing)与单纯依照IP报文的目的地址查找路由表进行转发有所不同,它是一种依据用户制定的策略而进行流量转发的机制。

2.策略路由有几种类型?
@本地策略路由:对本设备发送的报文实现策略路由,比如本机下发的ICMP、BGP等协议报文,。

当用户需要实现不同源地址的报文或者不同长度的报文通过不同的方式进行发送时,可以配置本地策略路由。

@接口策略路由:对本地设备转发的报文生效,对本机下发的报文不生效。

当用户需要将收到的某些报文通过特定的下一跳地址进行转发时,需要配置接口策略路由。使匹配重定向规则的报文通过特定的下一跳出口进行转发,不匹配重定向规则的报文根据路由表直接转发。接口策略路由多应用于负载分担和安全监控。

常用Traffic-Policy工具来实现。

@智能策略路由:基于链路质量信息为业务数据流选择最佳链路。

当用户需要为不同业务选择不同质量的链路时,可以配置智能策略路由。

常用Smart-Policy-Route工具来实现。

路由策略和策略路由有什么区别?
路由策略是通过修改路由条目来控制路由信息的接收和引入,策略路由是直接根据用户制定的策略进行转发。(策略路由的查找优先级比路由策略高)。

! 路由器存在两种类型的表:一个是路由表(Routing-table),另一个是转发表(Fowarding-table),转发表是由路由表映射过来的,策略路由直接作用于转发表,路由策略直接作用于路由表。由于转发在底层,路由在高层,所以直接作用在转发表的转发优先级比查找路由转发的优先级高。

路由策略是在路由发现的时候作用的,并根据一些规则,使用某种策略来影响路由发布、接受或路由选择的参数,从而改变路由发现的结果,从而最终改变路由表内容;策略路由实在数据包转发的时候发生作用,不改变路由表中的任何内容,他它可以通过设置的规则影响数据报文的转发。

———————
作者:hjk_fei
来源:CSDN
原文:https://blog.csdn.net/hjk_fei/article/details/83068962
版权声明:本文为博主原创文章,转载请附上博文链接!

源地址及目的地址策略路由实例

网络环境:
eth1   内网    192.168.6.* 接收从内部路由器过来的包
源地址包括了 192.168.3.0/24–192.168.10.0/24的地址
内部的路由器上的比较早,主要是用来隔离内部的网络广播的.他的每个段的网关是都是本段的1地址。
192.168.6.0/24段 是服务器段,有2个代理服务器,和若干web、ftp等应用服务器。
同时做了内网各个网段的路由(都是从192.168.6.1发送到192.168.6.0/24段)
eth0   外网    电信地址
增加2个路由表:
#vi /etc/iproute2/rt_tables
255     local
254     main
253     default
0       unspec
200     net10
100     net9
添加了2个路由表
#ip route list
61.132.*.*/29 dev eth0  proto kernel  scope link  src 61.132.*.*
192.168.6.0/24 dev eth1  proto kernel  scope link  src 192.168.6.*
169.254.0.0/16 dev eth1  scope link
default via 61.132.*.* dev eth0
对比下呀2个命令的含义一样的:
#route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
61.132.*.*    *               255.255.255.248 U     0      0        0 eth0
192.168.6.0     *               255.255.255.0   U     0      0        0 eth1
169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
default         61.132.*.*    0.0.0.0         UG    0      0        0 eth0
#ip route add to 192.168.0.0/16 via 192.168.6.1 dev eth1 table net9
#ip rule add to 192.168.3.0/24 pref 9000 table net9
#ip rule add to 192.168.4.0/24 pref 9001 table net9
#ip rule add to 192.168.5.0/24 pref 9002 table net9
#ip rule add to 192.168.7.0/24 pref 9003 table net9
#ip rule add to 192.168.8.0/24 pref 9004 table net9
#ip rule add to 192.168.9.0/24 pref 9005 table net9
#ip rule add to 192.168.10.0/24 pref 9006 table net9
其中net9的路由表,主要是目的地址的路由,为什么没有直接在缺省的路由表中直接做目的地址路由呢
因为后面的源地址路由中有针对本机网卡的ip地址段的策略,这个策略会优先缺省路由表,从而把这个目的地址路由的东西,扔给192.168.6.253中转了。实际的应用中如果直接配置到缺省路由,哪个策略优先,有点搞不清。
所以只能再加个net9路由表,同时把这几个段的策略扔给路由表net9处理的时候,设置优先级别高于符合net10的策略。这样的思路也清晰点!
如果只是本机出来的包,应该不会去匹配net10的策略,因为local的路由策略的优先级别最高!
做这个目的地址路由主要是为了把内部其他网段的ip到Internet网的包,能够正确的回包。
#ip route add to 0.0.0.0/0 via 192.168.6.253 dev eth1 table net10
#ip rule add from 192.168.6.0/24 pref 10000 table net10
#ip rule add from 192.168.3.0/24 pref 10001 table net10
做上面3条策略路由的目的是为了 把192.168.3.0/24 跟192.168.6.0/24段的上网流量,扔给另一台服务器192.168.6.253处理。
# ip route list table net9
192.168.0.0/16 via 192.168.6.1 dev eth1
# ip route list table net10
default via 192.168.6.253 dev eth1
# ip rule list
0:      from all lookup 255
9000:   from all to 192.168.3.0/24 lookup net9
9001:   from all to 192.168.4.0/24 lookup net9
9002:   from all to 192.168.5.0/24 lookup net9
9003:   from all to 192.168.7.0/24 lookup net9
9004:   from all to 192.168.8.0/24 lookup net9
9005:   from all to 192.168.9.0/24 lookup net9
9006:   from all to 192.168.10.0/24 lookup net9
10000:  from 192.168.6.0/24 lookup net10
10001:  from 192.168.3.0/24 lookup net10
32766:  from all lookup main
32767:  from all lookup default
测试了下,一切ok!!

Linux下的策略路由

策略路由:

Linux系统可以同时存在256(0-255)个路由表,而且每个路由表都各自独立,互不相关。数据包在传输时是根据RPDB(路由策略数据库)内的策略决定数据包应该用哪个路由表传输的。

/etc/iproute2/rt_tables  下定义了路由表

/etc/iproute2/rt_tables  下定义了路由表

格式 : 表 名称

表255 本地路由表(Local table) 本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
表254 主路由表(Main table) 如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路由工具(如route)所添加的路由都会加到这个表。一般是普通的路由。
表253 默认路由表 (Default table) 一般来说默认的路由都放在这张表,但是如果特别指明放的也可以是所有的网关路由。

RPDB中的路由表 :ip rule show

ip rule show查看的只是有哪些路由表,要查看路由表里面的具体路由,则可以使用ip route show/list table ID/name,默认的ip route show查看的是main表的路由条目。

第一段:冒号之前的数字,表示该路由表被匹配的优先顺序,数字越小,越早被匹配。这个优先级别范围是0~4亿多。默认0、32766、32767三个优先级别已被占用。如果在添加规则时没有定义优先级别,那么默认的优先级别会从32766开始递减,可以通过prio ID参数在设置路由表时添加优先级。

第二段:from关键字,这里显示的是匹配规则,当前表示的是从哪里来的数据包,除了from关键字外,还有to、tos、fwmark、dev等等。

第三段:loacl/main/default 这些都是路由表名称,表示数据包要从那个路由表送出去。local表包含本机路由及广播信息,main表就是我们route -n看到的内容,default表,默认为空。

查看表的路由  ip route show table

在不能做bond的机器上实现负载均衡可以采用策略路由的方法

gate=`route -n | head -n 3 | grep “eth1” | awk ‘{printf $2}’`
ip route add default via ${gate} dev eth2 table 200      ######创建一个路由表
eth2=`ifconfig eth2 | grep “inet” |head -n 1 | awk {‘printf $2’}`
ip rule add from ${eth2} table 200    #####来自eth2的流量都走路由表200
ip route show table 200

更加详细 https://segmentfault.com/a/1190000004165066
———————
作者:CoLiuRs
来源:CSDN
原文:https://blog.csdn.net/baidu_32452525/article/details/78378239
版权声明:本文为博主原创文章,转载请附上博文链接!