相关疑难解决方法(0)

如何为 SSL 配置 PyMySQL 连接?

我正在尝试使用 SSL 和 PyMySQL 连接我的数据库,但我找不到关于语法是什么的好的文档。

这些凭据可在 Workbench 和 CLI 中使用,但在使用 PyMySQL 时出现此错误。

无法连接到“server.domain.com”上的 MySQL 服务器([WinError 10061] 无法建立连接,因为目标机器主动拒绝了它)”)

db_conn = pymysql.connect(
    host=db_creds['host'],
    user=db_creds['user'],
    passwd=db_creds['passwd'],
    db=db_creds['db'],
    charset=db_creds['charset'],
    ssl={'ssl':{'ca': 'C:/SSL_CERTS/ca-cert.pem',
                'key' : 'C:/SSL_CERTS/client-key.pem',
                'cert' : 'C:/SSL_CERTS/client-cert.pem'
                }
        }
)
Run Code Online (Sandbox Code Playgroud)

如果我关闭 SSL 并删除 SSL 参数,我可以连接不安全就好了。我的 SSL 参数有什么问题?

编辑:PyMySQL 现在想要像这样列出 ssl 参数而不是在字典中。

db_conn = pymysql.connect(
     host=db_creds['host'],
     user=db_creds['user'],
     passwd=db_creds['passwd'],
     db=db_creds['db'],
     charset=db_creds['charset'],
     ssl_ca='C:/SSL_CERTS/ca-cert.pem',
     ssl_key='C:/SSL_CERTS/client-key.pem',
     ssl_cert='C:/SSL_CERTS/client-cert.pem'
                          )
Run Code Online (Sandbox Code Playgroud)

python ssl pymysql

12
推荐指数
1
解决办法
6495
查看次数

如何解决"连接到SMTP主机时出错:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它"?

我正在创建一个应用程序,我需要为某些特定日志发送邮件.这是我的规则文件:

es_host: localhost
es_port: 9200
name: Log Level Test
type: frequency
index: testindexv4
num_events: 1
timeframe:
   hours: 4
filter:
 - term:
     log_level.keyword: "ERROR"
 - query:
     query_string:
       query: "log_level.keyword: ERROR"
alert:
- "email"
email:
- "<mailId>@gmail.com"
Run Code Online (Sandbox Code Playgroud)

这是config.yaml

rules_folder: myrules
run_every:
  seconds: 2
buffer_time:
  seconds: 10
es_host: localhost
es_port: 9200
writeback_index: elastalert_status
alert_time_limit:
  days: 2
Run Code Online (Sandbox Code Playgroud)

这是smpt_auth.yaml

alert:
 - email
email:
 - "<mailId>@gmail.com"
smtp_host: "smtp.gmail.com" 
smtp_port: 587 
smtp_ssl: true
from_addr: "<mailId>@gmail.com"
smtp_auth_file: 'D:\ELK_Info\ElastAlert\elastalert-master\smtp_auth_user.yaml'
Run Code Online (Sandbox Code Playgroud)

这是smtp_auth_user.yaml

user: "<mailId>@gmail.com"
password: "<password>"
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时:

python -m elastalert.elastalert --verbose …
Run Code Online (Sandbox Code Playgroud)

python elasticsearch elastalert

9
推荐指数
1
解决办法
1157
查看次数

使用 .NET 核心 2.2 中的 MailKit SMTP 客户端使用 Gmail SMTP 发送邮件对我不起作用

我正在使用 NLog 目标来使用 smtp.google.com:587 SMTP 服务器将日志发送到一些电子邮件。当我使用标准 System.Net.Mail.SmtpClient 库时,它可以正常工作,但是在使用 MailKit 时,它会抛出错误:

发送邮件时出错。异常:>System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (10061): 无法建立连接,因为目标机器主动拒绝它。>[::ffff:173.194.76.108]:587

我添加了一个带有两个控制台项目的解决方案。一种使用 MailKit 和其他 System.Net.Mail。所有设置参数看起来都一样,但它在 MailKit 中不起作用:

using System;
using System.Diagnostics;
using MailKit.Net.Smtp;
using MailKit;
using MailKit.Security;
using MimeKit;

namespace SendMailKit
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Create message");
            var message = new MimeMessage();
            message.From.Add(new MailboxAddress("GTS", "tfs.gettaxsolutions@gmail.com"));
            message.To.Add(new MailboxAddress("Me", "info@gettaxsolutions.com"));
            message.Subject = "Test mail";
            message.Body = new TextPart("plain")
            {
                Text = @"Hello, This is the test"
            };

            Console.WriteLine("Create SMTP client");
            using (var client = …
Run Code Online (Sandbox Code Playgroud)

.net smtp mailkit .net-core asp.net-core

7
推荐指数
1
解决办法
1万
查看次数

无法连接到本地计算机上的套接字

我在这里做了一个简单的C#代码示例翻译:

let socket_CreateBindListen (sv_ : string) (pt_ : int) : Socket option =
    let (he : IPHostEntry) = Dns.GetHostEntry(sv_)
    let rsock, ipe =
        he.AddressList
        |> Seq.map (fun s ->
            let (ipe2 : IPEndPoint) = new IPEndPoint (s, pt_)
            let (rsock2 : Socket) = new Socket (ipe2.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
            rsock2.Connect ipe2 ///// <---- No connection could be made because the target machine actively refused it
            rsock2, ipe2)
        |> Seq.find (fun (s, t) -> s.Connected)
    try
        rsock.Bind ipe …
Run Code Online (Sandbox Code Playgroud)

sockets f#

2
推荐指数
2
解决办法
1665
查看次数