关于内网主备+https
先openssl证书
整体流程为:
1、页面访问为https,在电脑修改hosts文件,如域名为 babaozhou.com, 则配置为 ip1 babaozhou.com,ip2 babaozhou.com;
也就是说同域名关联两个ip,这样如果服务器1ping不通了则可以自动切换到ip2,避免服务器连不上问题;
2、nginx -V,查看是否支持openssl
用keepalived+nginx;当主服务进程停掉后可以立马切换到备;
更改keepalived.conf,位置在/etc/keepalived/
当前主的配置
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.254.136 83 //这里为需要切的ip 端口,其中254要与当前保持一致smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script chk_http_port {script "/usr/local/src/nginx_check.sh" //脚本位置interval 2weight 2
}vrrp_instance VI_1 {state MAXTER //MAXTER 为主interface enp7s0f1 //interface要一致 ip -a 查看一下,要与当前服务器保持一直virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.254.100 83 //虚拟ip 端口,直接暴露出来的}
}
创建文件 nginx_check.sh,内容如下,放到 /usr/local/src/
#!binbash
A=`ps -C nginx –no-header wc -l`
if [ $A -eq 0 ];thenusrlocalnginxsbinnginxsleep 2if [ `ps -C nginx --no-header wc -l` -eq 0 ];thenkillall keepalivedfi
fi
备
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.254.138 83 //备服务ip 端口smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script chk_http_port {script "/usr/local/src/nginx_check.sh" //脚本位置,内容位置与上面一样interval 2weight 2
}vrrp_instance VI_1 {state BACKUP //BACKUP 为备interface enp11s0f0 //interface要一致 ip -a 查看一下,要与当前服务器保持一直 virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.254.100 83 //虚拟IP地址 端口}
}
nginx
server {listen 443 ssl;server_name www.sky.com;ssl_certificate /root/CA/root/server.crt;ssl_certificate_key /root/CA/root/server.key;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {proxy_pass http://192.168.254.100:83; //该ip为keepalived虚拟ip}}//上面配置上一篇有讲//设置负载均衡 当86挂掉后自动切换到138; webname是随便起的upstream webname{server 192.168.254.86:9124;server 192.168.254.138:9124;}server {listen 83;server_name _;location / {root /usr/local/src/dist;index index.html index.htm;}ssl_prefer_server_ciphers on;location ^~/api {rewrite ^/api/(.*)$ /$1 break; proxy_pass http://webname; //对于配置的webname}}
hosts解决服务器连不上切换到备,keepalived解决 keepalived与nginx进程停止后自动切换到备,nginx负载均衡解决 后端停止自动切换到备;还有别的七七八八再记录
相关文章:
关于内网主备+https
先openssl证书 整体流程为: 1、页面访问为https,在电脑修改hosts文件,如域名为 babaozhou.com, 则配置为 ip1 babaozhou.com,ip2 babaozhou.com; 也就是说同域名关联两个ip,这样如果服务器1ping不通了则可…...
java入坑之网络编程
一、 网络基础知识 1.1网卡 1.2IP地址 1.3端口 1.4保留IP 1.5网络协议 二、UDP 编程 2.1相关概念 计算机通讯:数据从一个IP的port出发(发送方),运输到另外一个IP的port(接收方) UDP:无连接无…...
A Survey on Large Language Model based Autonomous Agents
本文是LLM系列的文章,针对《A Survey on Large Language Model based Autonomous Agents》的翻译。 基于大模型的自动agents综述 摘要1 引言2 基于LLM的自动代理构建3 基于LLM的自动代理应用4 基于LLM的自动代理评估5 相关综述6 挑战6.1 角色扮演能力6.2 广义与人对…...
Integer、Long 等包装类 == 值判断、地址判断与缓存
先看下以下代码和输出 public static void main(String[] args) throws Exception{Integer a-128;Integer aa-128;System.out.printf("aaa? %s \n",aaa);Integer b127;Integer bb127;System.out.printf("bbb? %s \n",bbb);Integer c128;Integer cc128;Sy…...
numpy学习:reshape和resize
.reshape 与 .resize reshape:有返回值,所谓有返回值,即不对原始多维数组进行修改; resize:无返回值,所谓无返回值,即会对原始多维数组进行修改;...
JPA在不写sql的情况下实现模糊查询
本文已收录于专栏 《Java》 目录 背景介绍概念说明单字段模糊匹配:多字段模糊匹配: 实现过程代码实现1.写一个实体类去实现Specification接口,重写toPredicate方法2.定义一个接口去继承JpaRepository接口,并指定返回的类型和参数类…...
Java设计模式之单例模式
单例模式是一种设计模式,它的目的是确保一个类只有一个实例,并提供一个全局访问点来访问该实例。这个模式通常在需要控制资源访问权、限制实例化数量或实现全局共享时使用。 在实现单例模式时,一般会定义一个私有的构造函数,以防…...
Vue3 学习
基础 js:https://www.bilibili.com/video/BV15T411j7pJ/?spm_id_from333.337.search-card.all.click&vd_source9747207be61edfe4ec62226fc79b3589 官方文档: https://cn.vuejs.org/ 版本之间差异在关于---》版本发布 https://cn.vuejs.org/about/release…...
Error obtaining UI hierarchy Error taking device screenshot: EOF/NULL 解决办法
RT:Error obtaining UI hierarchy Error taking device screenshot: EOF/NULL 解决办法 关于monitor开发神器我就不多说了,但是假如我们在开发中遇到如上问题该怎么处理呢?别慌下面会有方法,不过不是对任何机型都有效,…...
Java框架之王:Spring的崛起与进化
在Java世界中,Spring框架无疑已经成为了一个传奇。它为开发者提供了强大的工具和丰富的功能,使得构建高质量、可扩展的Java应用程序变得轻松便捷。本文将带您领略Spring的魅力,以及它在过去几年中的崛起和进化。 一、Spring的崛起 Spring框…...
【位运算】位运算常用技巧总结
目录 前言 一.常见的小问题 1.给定一个数n,确定它的二进制表示中的第x位是0还是1 2.给定一个数n,将它的二进制表示中的第x位修改成1 3.给定一个数n,将它的二进制表示中的第x位修改成0 4.给定一个数n,提取它的二进制表示中最右侧的1&…...
【STM32】IIC使用中DMA传输时 发送数据总少一个的问题
问题描述 在使用STM32 I2C数据发送过程中,发现每轮实际发送出去的数据总比在DMA配置中设定的传输数据个数要少一个。比方说:DMA配置里设定的传输数据个数是10个,结果发现在总线上只能发出9个,经过进一步发现是少了最后一个数据。…...
记录layui数据表格使用文件上传按钮
一、前言 虽然用到这种的情况不多,但是还是记录下 二、相关代码 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html;charsetutf-8"/><meta name"renderer" content&quo…...
c++之枚举
1、背景 在开发代码的过程中,vector类型数组a的index取了一个枚举值CTR,eg:a[CTR],刚开始以为是map类型,后面看不是,简单的看了下c的enum类型,原来enum按顺序默认为数字。 2、enum简介 2.1、…...
LeetCode 热题 100(七):105. 从前序与中序遍历序列构造二叉树、14. 二叉树展开为链表
题目一: 105. 从前序与中序遍历序列构造二叉树https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 思路:依据前序遍历的根左右和中序遍历的左根右, 且根左长度=左根 代码: …...
机器学习笔记 - 在表格数据上应用高斯混合GMM和网格搜索GridSearchCV提高分类精度的机器学习案例
1、需求及数据集说明 这是一项二分类任务,评估的是分类准确性(正确预测的标签百分比)。训练集有1000个样本,测试集有9000个样本。你的预测应该是一个9000 x 1的向量。您还需要一个Id列(1到9000),并且应该包括一个标题。格式如下所示: Id,Solution 1,0 2,1 3,1 ... 900…...
【UE 材质】模型部分透明
材质节点如下,这里简单解释一下。首先通过“Mask”节点将"Texture Coordinate" 节点中的“G”通道分离出来,然后通过“if”节点进行判断,当值小于0.5时为透明,当颜色不小于5时为不透明。可以通过一个参数来控制模型透明…...
Web3 社交平台如何脱颖而出?我们和 PoPP 聊了聊
能够颠覆 Web2 传统模式的社交产品有着怎样的特征?PoPP 作为专注于 Web3 的私域流量变现平台,为开发者和用户提供了社交产品发展的新路径,让社区用户充分实现互动交流,着力于创作内容的激励与变现。事实上,面对 Web3 社…...
【Android】ARouter新手快速入门
什么是ARouter ARouter是阿里巴巴推出的一款android界面路由框架 ARouter解决的核心问题是什么 在大型的模块化项目中,一个模块,往往无法直接访问到其它模块中的类,必须通过其它方式来完成模块间的调用 ARouter的核心功能在于,…...
基于VUE3+Layui从头搭建通用后台管理系统(前端篇)十一:通用表单组件封装实现
一、本章内容 本章实现通用表单组件,根据实体配置识别实体属性,并自动生成编辑组件,实现对应数据填充、校验及保存等逻辑。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 3.1 B站视频地址:...
自动化文件管理:基于Python的网盘批量处理方案
自动化文件管理:基于Python的网盘批量处理方案 【免费下载链接】BaiduPanFilesTransfers 百度网盘批量转存、分享和检测工具 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduPanFilesTransfers 在数字资源日益丰富的时代,百度网盘用户面临着批…...
淘金币自动化脚本:每天节省20分钟,解放双手的终极指南
淘金币自动化脚本:每天节省20分钟,解放双手的终极指南 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinb…...
AI编程工具 Codex 入门教程,带你7分钟上手 Codex !
大家好,我是程序员小灰。前一段时间,Anthropic旗下的AI编程工具 Claude Code 火了,小灰也为大家制作了Claude Code 相关的视频教程,得到了很多读者的肯定。尽管Claude Code很强大,但存在一个致命的问题,就是…...
向量库+RAG+大模型在医疗AI中为何常显不足?揭秘图谱如何重塑医疗知识系统信任度!
文章指出,在医疗AI领域,单纯依赖向量库RAG大模型的经典路线已显不足。医疗场景对知识系统的要求远超“语义相似度”,涉及适应症、禁忌症、证据等级等严格约束。知识图谱在医疗AI中的重要性日益凸显,它不仅能够构建知识间的关系网络…...
XBOX360 KINECT体感游戏合集109个
实体机模拟器都可以用,模拟器游戏说明: 1,解压后把游戏文件夹放进模拟器Roms文件夹 2、模拟器运行文件为xenia_canary.exe。点击File—Open,找到游戏目录下的Roms文件夹,一直打开下级文件夹,直到看到以20位…...
[特殊字符] Windows 下 OpenClaw 快速安装与功能使用
✨ 适配系统:Windows10/11 64 位 | 当前版本:OpenClaw v2.7.5 : 🔗 下载 OpenClaw 2.7.5 ✨ 核心亮点:零代码门槛|全程可视化|内置运行依赖|快速部署上手 📢…...
ElevenLabs台湾话语音上线后用户留存率骤降47%?揭秘方言语料清洗盲区与3步合规性校验法
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs台湾话语音上线后用户留存率骤降47%?揭秘方言语料清洗盲区与3步合规性校验法 ElevenLabs于2024年Q2正式上线台湾话(闽南语)语音合成服务,初期D…...
编程语言对比:从C到Python
好的,我将为你清晰介绍这几种编程语言的主要区别:1. C语言定位:面向过程的系统级编程语言。特点:接近硬件,可直接操作内存(如指针)。语法简洁,无面向对象特性。应用场景:…...
洛雪音乐六音音源修复完整指南:快速恢复音乐播放功能
洛雪音乐六音音源修复完整指南:快速恢复音乐播放功能 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 洛雪音乐是一款广受欢迎的开源音乐播放器,但近期许多用户遇到了六音音…...
2026年5月19日OpenBSD 7.9发布:多架构更新、内核创新,安全与性能双提升!
2026年5月19日,开源操作系统OpenBSD 7.9正式发布,作为第60个版本,它带来内核与用户空间多层面更新,预计在开源社区持续发挥重要作用。平台支持全面扩展arm64架构新增Rockchip RK3588与RK3576芯片支持,amd64平台MAXCPUs…...
