下载 查看并下载最新版本 https://ftp.openssl.org/source/ 解压 tar -zxvf openssl-1.1.1i.tar.gz 安装 cd openssl-1.1.1i ./config shared --prefix=/usr/local/openssl1.1.1i --openssldir=/usr/local/openssl1.1.1i make && make install 配置软连接 ln -bs /usr/local/openssl1.1.1i/bin/openssl /usr/bin/openssl 更新动态链接库 vim /etc/ld.so.conf 编辑更新路径 /usr/local/openssl1.1.1i/lib 更新 ldconfig 查看版本 openssl version -a 编译安装 openssl openssl
允许Traceroute探测 本插件使用Traceroute探测来获取扫描器与远程主机之间的路由信息。攻击者也可以利用这些信息来了解目标网络的网络拓扑。 解决办法 在防火墙中禁用Time Exceeded类型的ICMP包 firewall-cmd --add-icmp-block=time-exceeded --permanent ICMP timestamp请求响应漏洞 远程主机会回复ICMP_TIMESTAMP查询并返回它们系统的当前时间。 这可能允许攻击者攻击一些基于时间认证的协议。 解决办法 firewall-cmd --add-icmp-block=timestamp-reply --permanent firewall-cmd --add-icmp-block=timestamp-request --permanent 最后 重启防火墙 firewall-cmd --reload CentOS 上的ICMP 安全配置 Linux
Controller 添加注解 @ConditionalOnProperty(name = "TestController.disable", havingValue = "false") 其中 name 用来从 application.yml 配置文件中读取某个属性值,如果该值为空,则返回***false***;如果值不为空,则将该值与***havingValue***指定的值进行比较,如果一样则返回***true***;否则返回***false***。 如果返回值为***false***,则该 Controller 不生效;为***true***则生效。 配置文件 在 dev 环境下配置该属性,则可实现只有 dev 环境下该 Controller 才生效 TestController: disable: false SpringBoot 通过配置控制 Controller 是否生效 SpringBoot
总结与回顾 基本概念 一个 Elasticsearch 集群可以运行在单节点上,也支持运行在多个服务器上,实现数据和服务的水平扩展 从逻辑角度看,索引是一些具有相似结构的文档的集合 物理角度看,分片是一个 Lucene 的实例。分片存储了索引的具体数据,分片可以分布在不同的节点之上。副本分片除了提高数据的可靠性,还能一定程度提升集群查询的性能 Elasticsearch 文档可以是任意的 JSON 格式的数据 将文档写进 Elasticsearch 的过程叫索引(indexing) Elasticsearch 提供了 REST API 和 Transport API 两种方式,建议使用 REST API 搜索和 Aggregation Precosion 指除了相关的结果,还返回了多少不相关的结果 Recall 衡量有多少相关的结果,实际上并没有返回 精确值包括:数字,日期和某些具体的字符串 全文本:是需要被检索的非结构文本 Analysis 是将文本转换成倒排索引中的 Terms 的过程 Elasticsearch 的 Analyzer 是 Char_filter -> .... Elasticsearch 第一部分 elasticsearch
Jvm 配置 修改 JVM - config/jvm.options 7.1 下载的默认设置是 1GB 配置的建议 Xmx 和 Xms 设置成一样的 Xmx 不要超过机器内存的 50% 不要超过 30 GB elasticsearch 的简单配置 elasticsearch
修改 Linux 配置 sudo sysctl -w vm.max_map_count=262144 创建 docker-compose.yml sudo vim docker-compose.yml version: '2.2' services: cerebro: image: lmenezes/cerebro:0.9.2 container_name: cerebro ports: - "9000:9000" command: - -Dhosts.0.host=http://es01:9200 networks: - es7net es01: image: elasticsearch:7.8.1 container_name: es01 environment: - cluster.name=es-docker-cluster - node.name=es01 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - discovery.seed_hosts=es02 - cluster.initial.... Docker 安装 elasticsearch 7.8 elasticsearch
使用单例模式 1.2.1. HttpClient thread safety HttpClient implementations are expected to be thread safe. It is recommended that the same instance of this class is reused for multiple request executions. 由官方文档可知,HttpClient 是线程安全的,建议使用同一实例。 因此使用单例模式创建,优化反复创建的开销。 设置 Pooling connection manager PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); // Increase max total connection to 200 cm.setMaxTotal(200); // Increase default max connection per route to 20 cm.setDefaultMaxPerR.... HttpClient 4.5 的一些优化 Java
服务器版本: CentOS 7.6 拉取官方的镜像 docker pull mysql:8 初始化 创建所需文件夹 mkdir -p /home/docker/mysql8/{conf,data} 复制配置文件 docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8 docker cp mysql:/etc/mysql/my.cnf /home/docker/mysql8/conf/my.cnf docker rm -f mysql 按需修改配置文件 设置默认字符集 [client] default-character-set=utf8mb4 修改认证插件 [mysqld] default-authentication-plugin=mysql_native_password 运行容器 cd /home/docker/mysql8 docker run --name mysql -p 3306:3306 \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/data.... Docker 安装 MySQL8 Docker