- nginx实现反向代理出现502的解决方法
小白写代码hh
nginx运维
目录1.出现原因1.1.防火墙拦截了端口1.1.1.使用iptables1.1.2.使用firewall-cmd(适用于CentOS/RHEL7+)1.2.docker容器中的ip和宿主机ip不一致1.出现原因这里我是用的docker容器来进行nginx的启动的,在我们用nginx的配置进行反向代理的时候,有时候访问反向代理的url会出现BadGateway也就是坏请求,这里无非就是几种情况:这里
- 利用Nginx构建简易大文件上传预防DoS攻击机制
AsterCass
nginx运维
原文链接欢迎大家对于本站的访问-AsterCasc前言在前文使用Gateway作为SpringCloud网关中,我们使用接口限流,IP限流等方式一定程度可以防止普通的DoS攻击,对于更相对更复杂的DDoS攻击或者极端的Dos攻击,如果在只应用端进行防御的话效果相对有限所以当服务器资源允许,我们正常是会在服务器反向代理的位置设置负载均衡,但是这种防御处理的本质还是资源军备竞赛,技术上只是把护甲穿得更
- nacos集成网关
hubertbb3
gatewayspringcloud
前言,之前写的微服务中,并没有网关来进行控制,任何请求都可以访问到服务,所以,我们通过集成网关的方式,来对发送到我们服务的路由进行管理和控制。第一步,创建一个springboot应用第二步,引入相关依赖org.springframework.cloudspring-cloud-starter-gateway
- 流星雨特效css3
你的美,让我痴迷
cssCSS动画HTML5星系背景关键帧视觉艺术
*{margin:0;padding:0;box-sizing:border-box;}body{overflow:hidden;}section{position:absolute;top:0;left:0;width:100%;height:100vh;background:url(img/xingkong.jpg);background-position-x:center;backgroun
- nodejs作为provider接入nacos
tvrddmss
springboot后端java微服务node.js
需求:公司产品一直是nodejs的后台,采用的eggjs框架,也不是最新版本,现有有需求需求将这些应用集成到微服务的注册中心,领导要求用java。思路:用springcloudgateway将需要暴露的接口url转发,并将这个gateway注册到注册中心方案:1、转发原有nodejs的后台服务用Springboot建立一个gateway项目,引入gatewayorg.springframework
- Spring Cloud Alibaba 实战:Sentinel 保障微服务的高可用性与流量防护
扣丁梦想家
微服务sentinel服务监控熔断降级springcloud微服务
1.1Sentinel作用Sentinel是阿里巴巴开源的一款流量控制和熔断降级框架,主要用于:流量控制:限制QPS,防止流量暴增导致系统崩溃熔断降级:当某个服务不可用时自动降级,避免故障扩散热点参数限流:根据参数值进行精细化流控(例如VIP用户限流策略)系统自适应保护:根据系统负载自动调整限流规则授权规则:根据来源服务进行限流API网关防护:结合SpringCloudGateway保护微服务1.
- springcloud gateway搭建及动态获取nacos注册的服务信息信息
bxp1321
springcloudspringcloudgatewayjava
前言SpringCloudGateway通过集成Nacos服务发现,可以动态获取注册到Nacos的微服务实例信息,并根据服务名(ServiceName)自动生成路由规则或手动配置路由规则,实现请求的动态路由和负载均衡。一个最简单的网关就是实现所有微服务的代理即可,但是生产环境通常需要服务鉴权限制访问等,这里先简单示例一个没有鉴权,可以访问所有微服务接口的网关创建项目创建一个springboot项目
- zookeeper与kafka集群配置
zhangpeng455547940
计算机linuxjava运维
基本配置修改ipvi/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=staticONBOOT=yesIPADDR=192.168.139.133NETMASK=255.255.255.0GATEWAY=192.168.139.2DNS1=192.168.1.1修改主机名hostnamectlset-hostnameSSH免密登录vi/etc/
- Spring Cloud Gateway 笔记
L_!!!
SpringCloud笔记springcloudgateway
SpringCloudGateway笔记简介SpringCloudGateway是基于Spring5、SpringBoot2和ProjectReactor的API网关,提供动态路由、安全、监控和弹性等功能。核心特性:异步非阻塞模型、高性能、支持动态配置、丰富的断言(Predicate)和过滤器(Filter)。官网:https://spring.io/projects/spring-cloud-g
- Spring Cloud Gateway网关获取路由转发后的真实地址
练川
微服务Gatewaygatewayjava微服务后端
目录配置文件代码结果在使用SpringCloudGateway时,我们可能需要获取路由转发后的地址(注意,这里的地址不是请求到网关的地址,是网关路由转发后的真实地址),下面通过代码演示如何在filter中获取路由转发后的地址。核心代码是Routeroute=exchange.getAttribute(ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR);获取路由ro
- AWS无服务器 应用程序开发—第十一章API Gateway
yunquantong
AWS技术awsserverlessgateway
APIGateway是AWS提供的一种托管服务,用于创建、发布、维护、保护和监控RESTful和WebSocketAPI。它可以帮助开发者构建可扩展的微服务架构,并提供了丰富的功能来管理API的生命周期和流量。主要功能和特点:API创建和管理:可以使用APIGateway快速创建和定义API,包括定义资源、方法和参数。支持多种集成方式,如AWSLambda、AWSEC2、AWSS3等,还可以自定义
- AWS WAFv2 自动保护 API Gateway 实现指南
ivwdcwso
安全awsgateway云计算
AWSWAFv2(WebApplicationFirewallVersion2)是一项强大的服务,用于保护Web应用程序免受各种网络攻击。本文将重点介绍如何使用AWSWAFv2与Python脚本自动保护APIGateway,确保你的RESTAPI在暴露在互联网上时能够抵御常见的网络威胁。AWSWAFv2概述AWSWAFv2提供了先进的Web应用程序防火墙功能,可帮助你保护Web应用程序免受SQL注
- aws VPC link 在API gateway 作用
shenghuiping2001
awsaws
今天实践了VPClink的使用:先看一下架构:(如果没有apigateway,那么就是domain->SLB,有了apigateway就是:domain->apigateway)1:创建vpclink:2:先看创建的netloadbvalancer:3:注意上面的oadbalancer的scheme是internal,所以说这个是不能公网访问的。注意上面的type是network的loadbala
- IoT平台软件:AWS IoT二次开发_AWSIoT基础架构与核心组件
chenlz2007
物联网物联网aws云计算边缘计算azurephp
AWSIoT基础架构与核心组件AWSIoT是亚马逊提供的一套全面的云服务,旨在简化设备的连接、监控和管理。在这一节中,我们将详细介绍AWSIoT的基础架构及其核心组件,帮助你更好地理解如何利用这些组件进行二次开发。基础架构概述AWSIoT的基础架构主要由以下几个核心组件组成:设备网关(DeviceGateway)消息代理(MessageBroker)规则引擎(RulesEngine)设备影子(De
- Zabbix启动后访问报错502 Bad Gateway
奔跑吧邓邓子
常见问题解答(FAQ)gatewaynginxzabbix
提示:“奔跑吧邓邓子”的常见问题专栏聚焦于各类技术领域常见问题的解答。涵盖操作系统(如CentOS、Linux等)、开发工具(如AndroidStudio)、服务器软件(如Zabbix、JumpServer、RocketMQ等)以及远程桌面、代码克隆等多种场景。针对如远程桌面无法复制粘贴、Kubernetes报错、自启动报错、各类软件安装报错、内存占用问题、网络连接问题等提供了详细的问题描述与有效
- Gateway网关分布式微服务认证鉴权
NaughtyBo
#Springsecurityspringcloudgateway
文章目录学习链接微服务认证方案学习链接【OAuth2系列】SpringCloudGateway作为OAuth2Client接入第三方单点登录代码实践实战干货!SpringCloudGateway整合OAuth2.0实现分布式统一认证授权!spring-cloud-gateway-oauth2的github代码地址-已克隆到gitee微服务权限终极解决方案,SpringCloudGateway+Oa
- Spring Cloud Gateway微服务网关鉴权
chengqiuming
javajava
一网关鉴权1问题当我们在未登录状态下点击“购买课程”按钮时,会显示“未知错误”,查看trade微服务控制台,发现,JWT为空,无法鉴权。2解决方案微服务网关中添加自定义全局过滤器,统一处理需要鉴权的服务。3鉴权逻辑描述当客户端第一次请求服务时,服务端对用户进行信息认证(登录)认证通过,将用户信息进行加密形成token,返回给客户端作为登录凭证以后每次请求,客户端都携带认证的token服务端对tok
- 构建未来:基于Spring Boot与Spring Cloud的Java微服务之旅
胡蓓怡
构建未来:基于SpringBoot与SpringCloud的Java微服务之旅java-microservices-examplesJavaMicroservices:SpringBoot,SpringCloud,JHipster,SpringCloudConfig,andSpringCloudGateway项目地址:https://gitcode.com/gh_mirrors/jav/java-
- springcloud项目部署Nginx+Gateway+其他服务
小白宗轩
springcloudnginxgateway
一.部署Nginx:Nginx是一个高性能的Web服务器和反向代理服务器。它常用于将流量从公共互联网引导到内部的应用程序服务器。你可以在服务器上安装Nginx,并根据你的需求进行配置。通常的配置包括监听端口、定义服务器块、配置反向代理、设置SSL/TLS等。配置完成后,你可以启动Nginx,并确保它能够正常处理流量。明白它在整体项目中承担的作用:反向代理,负载均衡以及部署静态资源,这也是本章所用到
- 微服务实现流量回放进行真实模拟压测实战
power-辰南
java技术架构师成长专栏微服务架构云原生压测springcloud性能优化
一、流量存储格式设计1.存储格式核心字段流量数据需包含完整的请求、响应及上下文信息,推荐使用JSON格式(易扩展、易解析)。以下为典型字段设计:{"traceId":"a1b2c3d4",//唯一链路标识(用于串联上下游请求)"timestamp":1630000000000,//请求发生时间戳"source":"gateway",//流量来源(网关/服务名)"request":{"protoco
- 微服务模块全局异常处理包含网关
XflSHOW
微服务springcloud
1、在网关模块中的config包下,创建GatewayErrorWebException文件,引入下面代码,注意点:这里我做了一个使用异常类的CommonException判断,换成你自己使用的用来判断,这样,你在common模块定义的全局异常错误就可以在网关中抛出,返回json的格式了packagecom.blog.gateway.config;importcom.blog.common.exe
- MoE-FFD:Mixture of Experts for Generalized and Parameter-Efficient Face Forgery Detection
Sherry Wangs
DeepfakeDetection人工智能pytorch
来源:2024arXiv(submittedTDSC,CCF-A)作者:ChenqiKong1,AnweiLuo2,PeijunBao1,YiYu1,HaoliangLi3,ZengweiZheng4,ShiqiWang3andAlexC.Kot1单位:1新加坡南洋理工大学;2中山大学;3香港城市大学;4浙江大学;Paper:https://arxiv.org/pdf/2404.08452Code
- rhcsa个人学习笔记
小峰彩铃
学习笔记
一、配置网卡cd/etc/sysconfig/network-scripts/进入网卡文件夹vimifcfg-eth0修改网卡配置ipaddr=172.25.250.10netmask=255.255.255.0gateway=172.25.250.254dns=172.25.250.254systemctlrestartNetworkManagerifdowneth0;关闭网卡ifupeth0;
- 云原生之深入解析K8S Istio Gateway服务的架构分析与实战操作
╰つ栺尖篴夢ゞ
人工智能与云原生Istio架构分析istioctl部署IstioIstioGateway虚拟服务IstioGateway示例
一、概述Istio提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控、网关等功能,而不需要对服务的代码做任何改动。istio适用于容器或虚拟机环境(特别是k8s),兼容异构架构;istio使用sidecar(边车模式)代理服务的网络,不需要对业务代码本身做任何的改动;HTTP、gRPC、WebSocket和TCP流量的自动负载均衡;istio通过丰富的路由规则、重试、
- 504 Gateway Time-out nginx如何处理
web14786210723
面试学习路线阿里巴巴gatewaynginx运维
在遇到504GatewayTime-out错误时,通常表示后端服务器未能在规定时间内响应请求。以下是一些常见的原因和解决方法:一、原因分析后端服务超时:后端服务器处理请求耗时过长,超出了反向代理(如Nginx)的等待时间。网络连接问题:Nginx和后端服务器之间的网络延迟或断开。后端服务不可用:后端服务崩溃、未启动,或服务器资源耗尽(如CPU或内存)。Nginx配置问题:Nginx超时时间设置过短
- Nacos配置管理Feign远程调用Gateway服务网关
程序员要奋斗
#微服务gatewayjavaspring
1.统一配置管理1.统一配置管理流程1.引入Nacos的配置管理客户端依赖 com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config 2.在userservice中的resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml spring: appl
- Openresty最佳案例 | 第9篇:Openresty实现的网关权限控制
公众号:方志朋
数据库jwtshiroweblinux
简介采用openresty开发出的api网关有很多,比如比较流行的kong、orange等。这些API网关通过提供插件的形式,提供了非常多的功能。这些组件化的功能往往能够满足大部分的需求,如果要想达到特定场景的需求,可能需要二次开发,比如RBAC权限系统。本小节通过整合前面的知识点,来构建一个RBAC权限认证系统。技术栈本小节采用了以下的技术栈:Openresty(lua+nginx)mysqlr
- 深入了解构建分布式微服务架构的利器:Spring Cloud Alibaba
和光同尘·心止
架构分布式微服务springcloud
目录分布式微服务简介SpringCloudAlibaba简介核心组件Nacos组件Ribbon组件feign组件Sentinel组件seata组件gateway组件RabbitMQ组件组件安装步骤参考链接:阿里云官方文档:https://help.aliyun.com/阿里github官方文档:https://github.com/alibaba/SpringCloudAlibaba官方文档:ht
- 构建微服务网关的利器:深入Spring Cloud Gateway
蓝天资源分享
微服务架构云原生
构建微服务网关的利器:深入SpringCloudGateway在微服务架构中,随着系统被拆分成多个独立的小型服务,服务的数量不断增加,服务的治理和调用变得复杂。为了有效管理和简化客户端与多个微服务之间的通信,API网关(如SpringCloudGateway)成为了一个不可或缺的组件。SpringCloudGateway是SpringCloud生态系统中的一个重要成员,它基于SpringFrame
- 11、SpringCloud
_Mortal__
springcloudspring后端
1、常用SpringCloud的组件?1)、Nacos注册中心和配置中心2)、OpenFeign远程调用3)、LoadBalancer负载均衡的Ribbon(2021之前的版本)4)、Gateway网关5)、Sentinel服务保护限流现成隔离熔断降级方法(需要写代码)6)、Seata分布式事务(涉及到多个数据源)XA:执行SQL后事务不提交,统一提交或回滚AT:执行SQL后事务提交,并记录数据改
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include