cloudflare(cf) ssl 无法部署的一个问题

背景 前几天由于云筏那里把我的域名从cf处删除后,导致解析全部回源,ssl证书异常! 后来用了ion的cfp版本,但是ssl一直处于 待颁发(错误) 状态,将鼠标移到三角感叹号出发现报错 caa error: xxx.x 这才想起申请let’s 通配符证书时加了CAA记录 1 0 issue "letsencrypt.org" 解决方法 所以这里有2种处理方法 将 let’s 的caa 记录删掉 或者将cf的证书颁发机构也加入CAA 0 issue “digicert.com” CAA:允许域所有者指示允许哪些CA为其颁发证书。 所以加了let’s 的CAA记录就会导致其他的CA颁发证书失败,这个时候就需要将带颁发的CA加入CAA。

2021年1月6日 · 1 分钟 · 浅忆

关于OVH或SYS(soyoustart)能不能做邮件服务器问题

老早就想知道了,问了论坛没啥回应,今天就去翻了下sys的tos,其中 https://www.soyoustart.com/ie/termsofservice/version/Special_Conditions_for_So_You_Start_Dedicated_Server_2013-12-05.pdf 第七条就是关于邮件的,机翻如下 1 2 3 4 5 6 7 8 9 10 11 12 13 第7条:防止供应商网络发送垃圾邮件的措施供应商应实施技术措施体系,以防止从其基础设施中发送欺诈性电子邮件和垃圾邮件。 供应商应监视从服务器到互联网上端口25(SMTP服务器)的传出流量,这应包括通过自动工具监视流量。 供应商不得对流出的流量进行过滤或拦截,而应延迟几秒钟。 这些操作应由供应商在服务器和互联网之间并行进行。 对已发送的电子邮件不执行任何操作。 供应商不得对电子邮件进行任何标记,也不得以任何方式修改客户发送的电子邮件。 在供应商进行这些操作期间,除统计数据外,不得存储任何信息。 该操作应由供应商定期且以全自动方式进行,并且客户确认在监视端口25(SMTP端口)的流量期间不涉及人工干预。 如果来自客户服务器的外发流量(包括电子邮件)被识别为垃圾邮件或欺诈性电子邮件,则供应商应通过电子邮件通知客户并阻止服务器的SMTP端口。 即使服务器被识别为垃圾邮件,供应商也不应保留从服务器SMTP端口发送的电子邮件的任何副本。 客户必须通过“开始使用技术协助”请求解除SMTP端口的阻塞。 任何被识别为垃圾邮件的新电子邮件都将导致供应商较长时间重新封锁SMTP端口,具体取决于供应商的合理判断。 如果发生供应商第三次阻塞SMTP端口的情况,则供应商保留拒绝取消SMTP端口的任何新请求的权利。 大概意思是可以做邮件服务器,但是不得发送垃圾邮件,ovh不会保存邮件副本也不会标记,但是如果被程序识别到垃圾邮件会封禁25端口,需要工单解封,超过3次则永久关闭25端口。

2020年12月10日 · 1 分钟 · 浅忆

Angular9 HttpClient设置参数无效问题

初步学习Angular9,在httpclient模块栽了半天。根据官方文档设置ur居然是无效的,比如 1 2 let httpParams = new HttpParams().set('code', 'aaaa');//可以成功设置code httpParams.set('state', 'ccccc'); // 无法设置state 看了stackoverflow的回答后才知道 HttpParams旨在是不可变的。该set和append方法不修改现有的实例。相反,它们返回新实例并应用更改。 所以这里有两种方案: 1、使用 fromString 变量从查询字符串中直接创建 HTTP 参数 1 2 3 4 5 const data = { code: this.subInfo.code, state: this.subInfo.state }; const httpParams = new HttpParams({fromObject: data}); 2、直接传递对象而不是HttpParams 1 http.get(url, {params: data}) 所以直接是用方法2了~ 参考文章: https://stackoverflow.com/questions/45210406/angular-4-3-httpclient-set-params

2020年12月9日 · 1 分钟 · 浅忆

elasticsearch 使用BulkProcessor导入txt大文件

最近在学es,需要导入8亿条数据 手上有一个txt大约有8亿条数据的样子,文件有19G左右,一开始百度搜了下,基本都是重复文章,不过也根据写这些文章的大佬慢慢google到了一些方法。 先说下导入机器配置: cpu: E5 1620V2 内存: 32G(分给es 12G) 硬盘:4x2T raid 0(io大概在600左右) 导入的几种方法: 1、bulk: ES本地支持的批量导入方式,将json文件post到es进行处理。 将需要导入的数据先生成json文件,格式类似这种 1 2 3 4 5 6 7 8 9 #指定 index {"index":{"_index":"suoy","_id":1}} #字段 {"text_entry":"内容"} {"index":{"_index":"suoy","_id":1}} {"text_entry":"内容"} {"index":{"_index":"suoy","_id":1}} {"text_entry":"内容"} ........... 然后使用curl提交 1 curl -H 'Content-Type: application/x-ndjson' -XPOST '127.0.0.1:9200/xxxxxxxx/doc/_bulk?pretty' --data-binary @out.json 一开始我是尝试这种方法,用python将数据重新处理了下,生成的文件有48GB……,还花了3-5个小时的样子,导入的时候直接失败~后面,看了下说是文件大小尽量不能超过200MB???这样的话就要分割文件了,虽然可以shell脚本一个一个的提交小文件json,后面想想直接放弃了(嫌麻烦)……. 2、logstash: ES官方的另一个产品,将数据文本转换为ES的数据源。 我的文本一行只有两个字段,用 “—-” 分割,花了点时间学logstash直接上手开干,但是导入速度只有9000条/s的样子,一个小时导了大概3200w条数据,导了16个小时大概导了5.2亿条数据,这速度完全不行啊,后面手贱不注意按了 Ctrl+c,嗯…..这下好了,不知道怎么断点续传,又得重新来…… 我用的脚本如下,有懂的大佬能否告知下logstash有没有类似BulkProcessor储存到x条数据再执行Bulk的方法? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 input { # 从文件读取日志信息 file { path => "/data/sda3/k/log.txt" type => "text" start_position => "beginning" } } filter { mutate { split => ["message", "----"] } if [message][2] { mutate { add_field => { "title" => "%{[message][1]}" "log" => "%{[message][2]}" } } }else{ if [message][0] { mutate { add_field => { "title" => "%{[message][0]}" } } } if [message][1] { mutate { add_field => { "log" => "%{[message][1]}" } } } } } output { elasticsearch{ hosts => "127.0.0.1:9200" index => "logs" user => "elastic" #password => "xxx" #document_type => "_doc" } # 标准输出 #stdout { codec => rubydebug } } ...

2020年12月3日 · 3 分钟 · 浅忆

pve 安装ifupdown2

其实安装完pve后第一步就是移除企业订阅源,防止后面出现很多问题(由于企业仓库更新源需要购买订阅服务,所以我们需要手动修改到官方的非订阅源)。 由于proxmox VE 的 ifupdown2 到企业版里了,所以…… 删除原来的企业源 1 rm /etc/apt/sources.list.d/pve-enterprise.list 添加官方非订阅免费源 1 echo 'deb http://download.proxmox.com/debian/pve buster pve-no-subscription' >> /etc/apt/sources.list.d/pve-no-subscription.list 注意上边的buster,非其他教程中的stretch,是由于debian版本的问题,具体不解释 更新 1 apt update 安装ifupdown2 1 apt install ifupdown2 参考文章: https://www.d3tt.com/view/119

2020年10月8日 · 1 分钟 · 浅忆

踩坑 mybatis-plus Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table

1 2 3 4 5 6 7 8 org.springframework.jdbc.BadSqlGrammarException: ###Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptin: Table ‘xxx.xxx’ doesn’t exist ###The error may exist in com/example/mapper/UserMapper.java (best guess) ###The error may involve defaultParameterMap ###The error occurred while setting parameters ###SQL: SELECT id,name,age,email FROM user ###Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘xxx.xxxr’ doesn’t exist ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘xxx.xxx’ doesn’t exist 错误原因:原因实体类pojo名字和表名不一致!!mybatis-plus默认规则是实体类和表名以驼峰命名法映射,要求是需要符合这个规则才能执行成功。 所以需要在实体类上加@TableName(“表名”) 由于我使用的是官方的代码生成器,所以有这么一句 1 strategy.setTablePrefix(pc.getModuleName() + "_"); 在输入模块名的时候我输入的是 aaa.bbb.ccc这种格式,刚好和表名对应上,所以这里默认把aaa.bbb去掉了,刚好默认实体又没@TableName注解,导致找不到表名。 我在代码生成器中加入 ...

2020年9月30日 · 1 分钟 · 浅忆

git(github)删除误上传的敏感文件

FILEPATH 变量代表的是路径。 1 2 3 4 5 6 7 8 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILEPATH' --prune-empty --tag-name-filter cat -- --all # 例子 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch src/main/resources/application-dev.properties' --prune-empty --tag-name-filter cat -- --all git push origin master --force rm -rf .git/refs/original/ git reflog expire --expire=now --all git gc --prune=now git gc --aggressive --prune=now

2020年9月8日 · 1 分钟 · 浅忆

proxmox恢复vm(vma)到指定的存储

1 qmrestore ubuntu14.04.5-bak.vma.lzo 101 -storage local

2020年9月4日 · 1 分钟 · 浅忆

Office365邮局开启DKIM

注册完E5后可以绑定自己的域名作为邮局,但是只有默认的onmicrosoft.com域开启了DKIM,自己接入的域名并没有开启,所以这里按照官方文档开启DKIM以减少进垃圾邮箱的可能性。 2021-12-04 更新 有读者反馈 https://security.microsoft.com/dkimv2 网址已经可以直接开启DKIM了,我去试了下,点击开启会自动校验 CNAME 记录,自己复制值在dns那添加就可以了(如果不知道怎么添加,可以看第三步)。 以下文章仅作记录,直接通过上面的方法开启就可以了。 1、开启DKIM 首先进入到office365管理面板,点击左侧菜单栏的「全部显示」,然后点击「Exchange」,进入Exchange控制台。 这里会列出已接入域名,点击域名右侧会显示DKIM的状态,点击启用就好。 如果第一次接入会显示「没有为此域名保存DKIM签名 」,根据官方文档,可以通过Powershell方式来开启。 2、连接到 Exchange Online 这里的操作以管理员权限打开,需要注意的是,所有命令必须在同一个PowerShell下操作 。 下面命令中 为自己的域名 。 在本地计算机上,打开 Windows PowerShell 并运行以下命令。 1 $UserCredential = Get-Credential 在“Windows PowerShell 凭据请求”对话框中,键入工作或学校帐户用户名和密码,再单击“确定”。 运行以下命令连接到Exchange Online: 1 $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection 注意: 对于 Office 365 世纪互联运营,请使用 ConnectionUri 值:https://partner.outlook.cn/PowerShell 对于 Office 365 Germany,请使用 ConnectionUri 值:https://outlook.office.de/powershell-liveid/ 对于 Microsoft 365 GCC High,请使用 ConnectionUri 值:https://outlook.office365.us/powershell-liveid/ 对于 Microsoft 365 DoD,请使用 ConnectionUri 值:https://webmail.apps.mil/powershell-liveid 运行以下命令设置会话: 1 Import-PSSession $Session -DisableNameChecking ...

2020年8月16日 · 2 分钟 · 浅忆

nginx反代cloudflare出现502错误问题

如果是自己的域名在反代配置加上这2句就可以了。 1 2 proxy_ssl_name $host; proxy_ssl_server_name on; 我自己的配置是 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 location / { proxy_pass https://域名; #Proxy Settings proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_ssl_name $host; proxy_ssl_server_name on; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; # proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 64k; }

2020年8月16日 · 1 分钟 · 浅忆