我收到以下错误
ERROR 2013 (HY000): Lost connection to MySQL server at
'reading authorization packet', system error: 0
Run Code Online (Sandbox Code Playgroud)
当试图连接到我的MySQL服务器.
我在做什么:
但是当我尝试使用配置了F5的IP连接到我的MySQL服务器时,我得到了
ERROR 2013 (HY000): Lost connection to MySQL server at
'reading authorization packet', system error: 0
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
更新我的进度:ZERO
- 我收到相同的错误我在/ var/log/secure中没有条目,好像有人会尝试验证来自我创建负载均衡服务器的ip.
没有引入mysql错误日志.
命令 - 什么都不返回
mysql> SHOW GLOBAL STATUS LIKE 'Aborted_connections';
Empty set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
我已经改变了我的my.cnf文件并添加了
[mysqld]
skip-name-resolve
Run Code Online (Sandbox Code Playgroud)
Alterd的connect_timeout到10
这样看来,我得到了我对我的F5创建的服务器没有回应
,我终于说服了F5管理员递给我在日志中F5服务器和我exctraced所有我需要形成的.
这是输出:
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_ACCEPTED>: BIG-IP MySQL Proxy -- …Run Code Online (Sandbox Code Playgroud) 我们目前正在使用TeamCity进行CI构建,我们也正在尝试设置自动部署.
我目前正在尝试部署的项目是位于F5负载均衡器下的Windows服务.在未来,我们还希望自动部署我们的IIS网站,这些网站也位于F5之下.
从TeamCity我们可以执行PowerShell脚本来取消所需服务器上的Windows服务,将文件推送到它,然后重新安装服务.
但是,我无法弄清楚如何处理负载均衡器.我们希望一次禁用1个节点,监视要删除的所有连接,然后部署我们的代码并重新启动节点.
这似乎是一个非常普遍的问题,但我发现很少有关于如何做的信息.
谢谢!
回答
感谢Jonathon Rossi的iControl Powershell cmdlet!
对于其他用户的问题,这里有一个关闭,监视连接丢弃,推送代码,然后通过powershell脚本重新打开F5负载均衡器的示例
要使这些脚本正常工作,您首先必须从下面的答案中提供的链接安装F5 iControl cmdlet
#PULL IN OUR F5 UTILITY FUNCTIONS
. .\F5Functions.ps1
#DEFINE LOGIC TO DEPLOY CODE TO A NODE THAT HAS ALREADY BEEN REMOVED FROM THE LOAD BALANCER
function Deploy(
[F5Node]$Node
)
{
Write-Host "Deploying To: "$Node.Name
#TODO: Remotely shut down services, push code, start back up services
}
#DEFINE NODES
$nodes = @()
$nodes += New-Object F5Node -ArgumentList @("TestNode1", "1.1.1.1")
$nodes += New-Object F5Node -ArgumentList @("TestNode2", "1.1.1.2") …Run Code Online (Sandbox Code Playgroud) .net powershell continuous-integration f5 continuous-deployment
我有一个运行Nginx和Gunicorn的Django项目.其中一个应用程序使用Exscript与网络设备交互,后者又使用Paramiko.有些设备在Gunicorn后面无法正常工作.
完全相同的代码可以在django-admin shell中正常工作.如果我启动内置的django服务器,它也会工作,但如果我绕过nginx,我仍然会收到错误,并直接连接到Gunicorn.
我尝试将功能转移到芹菜任务,它有同样的问题,但仅限于Gunicorn.
我使用django-extensions编写了一个脚本,该脚本可以从命令行运行,但如果通过子进程调用则会失败.但仅限于Gunicorn.
失败的设备似乎都是F5 LTM,看起来exscript对象上的缓冲区正在以某种方式被修改.如果我猜我会说,Gunicorn和Exscript /的paramiko莫名其妙地踩着对方的记忆,或许是Gunicorn设置一些环境变量Exscript是捡.
在任何情况下,我都是彻底难倒的,并会感谢任何关于如何解决这个问题的指导.
我们有大约50多个小型ASP.Net Web应用程序,每个都有自己的域名和Web服务器.
我们现在将它们整合到3个Web服务器中,并且它们继续拥有自己的IIS网站+应用程序池+域名(使用主机头)+ SAN证书,使用F5进行负载平衡.
我们将很快将10多个新的ASP.Net应用程序部署到同一个infra中.要扩展模型,我们希望拥有一个域名,如https://apps.mycompany.com/,并使用以下URL方案为每个应用程序提供服务:
我们使用IIS(Web服务器)和F5(负载均衡器).我想知道什么是最有效+可扩展的方式来实现这一目标?
我想在 AWS ALB 级别向请求添加自定义标头。我正在将一些 iRules 从 F5 迁移到 ALB,并且有很多用 F5 编写的自定义 iRules 来根据某些条件添加自定义标头,我必须保持它类似,以便执行更顺利的迁移。
是否可以从 AWS ALB 本身执行此操作?
我们有一个使用F5 BIG-IP服务器进行负载平衡的潜在客户端.在确定我们是否可以将我们的产品与其负载均衡器完全集成时,我开始查看F5提供的API.问题是,如果没有F5服务器,我无法使用其API运行任何自定义代码.有谁知道是否有相应的软件进行测试?
当我试图了解F5产品如何工作时,创建我自己的模拟并没有帮助.我想点击各种API函数,并了解返回的内容.
我正在使用F5 Networks Big-IP产品,这些产品附加了一个定制的Ethernet II拖车框架用于调试目的.我正在尝试用Scapy为这个预告片绑定一个新图层,但我无法这样做.
我可以在Padding字段中看到感兴趣的有效负载,但是使用bind_layers不能正确解析所需的Padding部分.
class MyEthTrailer(Packet):
name = "Ethernet Trailer"
fields_desc = [ ####Fields Mapping Section ]
def dissect(self, s):
self.payl,self.pad = self.extract_padding(s)
s = self.do_dissect(self.pad)
Run Code Online (Sandbox Code Playgroud)
我想到的一个解决方案是创建一个新的以太网替换类(或过载),然后我可以参考典型的以太网有效载荷和我的新预告片.但我不是一个超级Python/scapy程序员,我不确定这是否是最佳选择.
这是我应用bind_layers(TCP,MyEthTrailer)后Scapy当前映射我的数据包的方式.我应该解析的信息是在Padding类中
<Ether dst=00:00:00:00:00:00 src=00:00:00:00:00:01 type=0x8100 |<Dot1Q prio=0L id=0L vlan=01L type=0x800 |<IP version=4L ihl=5L tos=0x0 len=67 id=1 flags=DF frag=0L ttl=255 proto=tcp chksum=0x01 src=10.0.0.1 dst=10.0.1.1 options=[] |<TCP sport=1111 dport=https seq=1 ack=1 dataofs=5L reserved=0L flags=PA window=4380 chksum=0xb718 urgptr=0 options=[] |<MyEthTrailer |<Padding load='\xPayload of MyEtherTrailer' |>>>>>>
Run Code Online (Sandbox Code Playgroud)
[UPDATE-1]
我可以通过调用强制解码TCP SYN数据包:
packet[TCP].decode_payload_as(MyEthTrailer)
Run Code Online (Sandbox Code Playgroud)
但是,bind_layers方法似乎不会自动运行,并且这不适用于更复杂的数据包,因为它将TCP Padding与MyEthTrailer有效负载混合在一起.
[UPDATE-2]
我得到了部分工作,但每个数据包都需要正确地进行转换,然后我可以读取预告片有效负载并对其进行解码.例如,如果数据包是TCP/DNS/MyEthTrailer,这将起作用.如果我不知道它是DNS,并且它没有正确设置,它仍然混合在TCP有效载荷和填充中.
非常感谢您的帮助.
我正在编写一个将从 AzDo Pipeline 运行以禁用 F5 WebServer 的脚本。下面的脚本在可视代码中运行良好,并且确实按预期禁用了服务器。但是当从终端或 PS 窗口运行时失败并出现以下错误。有人可以帮忙吗?
\n$ServerInput = 'server1.abc.com'\n$BIGIPBaseURL = "https://ser-f5-1.prod.abc.com"\n$usr = "nilesh"\n$SecurePassword='P@assword'\nWrite-Host "Starting the Script..." \n# Initialize variables\n[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12\n$BIGIPToken = $null\nWrite-Host -ForegroundColor Green " done!"\n$DisableWebServers = $true\n# Initialize functions\nWrite-Host "Initializing functions..." -NoNewline\n$PSVersionTable\n\nfunction Disable-BIGIPNode([string]$NodeName) {\n # servers should use the Disable-BIGIPTelcoNode() function\n Write-Host "In the Disable function"\n if ($NodeName -match "(?i).*telco.*") {\n Write-Host -ForegroundColor Yellow "WARNING: `"$($NodeName.ToUpper().Split('.')[0])`" is in the wrong list. telcoo hosts should be added to the TelcoServers list in your input file."\n …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行一个执行存储在host_vars中的变量的剧本.这是解决方案布局:
文件内容如下:
/存货/主机:
[f5-test]
localhost
Run Code Online (Sandbox Code Playgroud)
/ host_vars /主机
f5_user:user
f5_password:password
f5_server:server
Run Code Online (Sandbox Code Playgroud)
/playbook.yml
- name: Playbook
hosts: f5-test
gather_facts: no
gather_subset: no
tasks:
- name: Taks_01
tags: "bigip-node"
bigip_node:
server: "{{f5_server}}"
user: "{{f5_user}}"
password: "{{f5_password}}"
state: "present"
partition: "Common"
host: "10.20.30.40"
name: "F5_Node"
session_state: "enabled"
description: "description"
delegate_to: localhost
Run Code Online (Sandbox Code Playgroud)
但是,当我们执行以下命令时:
sudo ansible-playbook playbook.yml -i inventory/hosts -vvvv
我收到以下错误:
task path: /home/dev/ansible/playbook.yml:9
fatal: [localhost]: FAILED! => {
"failed": true,
"msg": "the field 'args' has an invalid value, which appears …Run Code Online (Sandbox Code Playgroud) 我们目前正在互联网和应用服务器之间引入反向代理解决方案。我已经完成了简单的反向代理设置,并且能够成功地从反向代理访问应用程序服务器。但是当我尝试从 F5 执行健康检查到反向代理时,它失败并且 error_log 中没有错误,除了 access_log
XX.XXX.XX.X - - [07/Feb/2020:15:33: 27 -0700] "\x16\x03\x01" 400 226 "-" "-"
XX.XXX.XX.X - - [07/Feb/2020:15:33:28-0700] "\x16\x03\ x01\x02" 400 226 "-" "-"
XX.XXX.XX.X - - [07/Feb/2020:15:33:32 -0700] "\x16\x03\x01\x02" 400 226"- " "-"
XX.XXX.XX.X - - [07/Feb/2020:15:33:33 -0700] "\x16\x03\x01" 400 226 "-" "-"
XX.XXX.XX.X - - [07/Feb/2020:15:33:42 -0700] "\x16\x03\x01\x02" 400 226 "-" "-"
XX.XXX.XX.X - - [07/Feb/2020:15:33:43-0700] "\x16\x03\x01" 400 226 "-" "-"
XX.XXX.XX.X - - [07/Feb/2020:15: 33:47 -0700] "\x16\x03\x01" 400 226 "-" "-"
XX.XXX.XX.X - - …
诸如Okta赞助站点之类的消息源(请参阅“按请求自定义”部分)提到,自动请求的redirect_uri参数不应包含动态查询部分(例如:用于会话匹配)。
引用:
服务器应拒绝所有重定向URL与注册URL不完全匹配的授权请求。
我们的OAuth AZ提供程序是BIG-IP F5。我们正在设置它,它们似乎符合上述观点。
我们的客户是在其他地方构建的Web应用程序,它们似乎不遵循上述规则。这是授权端点的完整表示(已编辑):https ://ourownF5host.ca/f5-oauth2/v1/authorize ? client_id = theIDofOurClient & redirect_uri =https% 3A%2F%2FourClientAppHostname%2FClientRessource%2FRessource%3FSessionId%3D76eab448-52d1 -4adb-8eba-e9ec1b9432a3&state = 2HY-MLB0ST34wQUPCyHM-A&scope = RessourceData&response_type = code
他们使用的redirect_uri格式类似于(为简单起见,在这里我不进行urlencode):redirect_uri = https:// ourClientAppHostname / ClientRessource / Ressource?SessionId = SOMELONGSESSIONID,每个调用的SOMELONGSESSIONID值都是不同的。
我们将DEEP挖入RFC6749(OAuth2),并在第3.1.2.2节中找到了这一点:
授权服务器应该要求客户端提供
完整的重定向URI(客户端可以使用“ state”请求
参数来实现每个请求的自定义)。如果
不可能要求注册完整的重定向URI,则
授权服务器应要求注册URI
方案,权限和路径(允许客户端
在请求
授权时仅动态更改重定向URI的查询组件)。
我了解并希望在此进行验证的是,第一个来源Okta和F5仅接受上述规则的第一部分,并且要求重定向uri必须完全注册而没有任何动态部分。
我是否可以肯定他们(Okta和F5)不遵守摘录的第二部分,并指出他们应“ 允许客户端在请求授权时仅动态更改重定向URI的查询组件 ”?
或者,是否有任何形式的RFC6749官方更正/发展可以保证两家公司的设计地位?
f5 ×12
big-ip ×3
powershell ×2
python ×2
.net ×1
ansible ×1
apache ×1
asp.net ×1
automation ×1
aws-application-load-balancer ×1
azure-devops ×1
django ×1
ethernet ×1
gunicorn ×1
httpd.conf ×1
https ×1
iis ×1
java ×1
javafx-2 ×1
mysql ×1
oauth-2.0 ×1
okta ×1
paramiko ×1
rfc6749 ×1
scapy ×1
ssl ×1
variables ×1