安固途径

知识来源于感觉和经验

Crontab 启动 nodejs 脚本失效

2023-04-21, 星期五|
linux开发

开发环境

  • Ubuntu 20

问题

待执行的脚本 a.js,其权限为可执行,且

Shebang 设置为

#!/usr/bin/env node

在计算领域中,Shebang(也称为Hashbang)是一个由井号和叹号构成的字符序列 #! ,其出现在文本文件的第一行的前两个字符。-- 维基百科

最终在 Crontab 执行时无用。

调试过程

通过查看 crontab log

tail -f /var/log/cron.log

如果没有开启 Crontab log 的话,可以先开启一下 log

sudo vim /etc/rsyslog.d/50-default.conf

再重启一下 rsyslog

sudo service rsyslog restart

解决办法

将 Shebang 设置为

#!/usr/local/bin/node

更多

可以通过 crontab -e 来编辑用户 crontab 脚本,或通过命令 crontab -l 来列出当前用户的所有 crontab 脚本。

...
阅读全文

macOS 网络没有掉线但是打不开百度的解决办法

2023-04-16, 星期日|
macOS修复

现象

  1. Chrome 浏览器报错

用谷歌浏览器访问网站 https://www.baidu.com, 访问不畅。报错

ERR_ADDRESS_INVALID
  1. 在终端中 ping

ping www.baidu.com, 能够获得 IP 地址,且能 ping 通,无丢包

  1. 在终端中用 curl
➜  ~ curl -I https://www.baidu.com
curl: (7) Couldn't connect to server

怀疑

连接了同样的 WIFI 的移动设备能够访问百度和一些其他网站,但是 macOS 却任意网站都不能访问,可以排除是路由器互联网连接的问题。

假设是 macOS 系统的某些端口被占用,引发了资源不足。

尝试解决

关闭掉运行着的开发服务,关闭 vscode, 然后重新访问百度等网站。

转变

现在能够在 Chrome 中访问百度,然而问题并没有解决,因为只有某些网站能够访问,而另外一些网站不能访问,或者某一些网站的资源加载不完全。且 Safari 始终不能访问百度。

只好重启一下电脑了。

2分钟重启好了。

实在找不到具体的原因,很有可能是 Chro

...
阅读全文

wget 无法使用 https 协议的 https_proxy

2023-02-25, 星期六|
linux网络设置

问题描述

wget 使用 https 协议的代理使用不上?有没有遇到过这种情况?

我有遇到过这种情况,如下配置了 https_proxy 的地址

export https_proxy=https://user:pass@some.example.com:443
wget https://www.baidu.com

不会得到正确的响应,如下

无法读取代理响应:连接被对方重设

连接已经重置。

问题的分析

并不是因为代理服务器的用户名或密码未设置,因为即便设置了 wget 参数 --proxy-user=, 以及 --proxy-password= 也会是同样的错误。

这是由于代理服务是 https 协议的缘故。

问题的处理

处理办法是将 https 中的 s 拿掉,直接用 http 协议的代理,并重新指定 http 代理的端口。

防火墙阻断

出现新的问题。

但是如果直接用 http 协议的代理,那么仍然无法访问国外的 http 资源,这是因为众所周知的网络原因。

于是,为了能够让 http 协议的代理能够访问国外的 http 资源,就得另想办法。

我想到的办法是,在 http 协议外加

...
阅读全文

一种利用 acme.sh 生成 squid https 证书的方法

2023-02-08, 星期三|
网络设置软件

Acme.sh

acme.sh 是一个开源的 Let's Encrypt 客户端,您可以使用它自动化生成和续订 SSL 证书。

Requements

  1. Acme.sh installed
  2. acme.sh aliyun dns plugin
  3. aliyun account
  4. domain

aliyun 生成 aliyun RAM API key,然后设置环境变量 Ali_Key, Ali_Secret, 如:

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"

生成过程

利用 Acme dns

在 ubuntu 服务器上利用 acme dns_ali 插件,生成证书

acme.sh --issue --dns dns_ali -d az02.example.com --force

输出

[2023年 02月 08日 星期三 08:23:04 CST] Using CA: https://acme.zerossl...
[2023年 02月 08日 星
...
阅读全文

macOS 中如何快速打开应用程序的文件位置

2023-02-04, 星期六|
快捷键macOS

首先在 macOS 中的 dock 中找到需要打开的应用程序,将鼠标悬停在该应用程序上。

然后按下 Cmd 不放松,同时鼠标左键单击 dock 中的目标应用程序。

可以看见应用程序在 Finder 中打开了其所在的位置,并且该目标应用程序被选中。

这种方法在 macOS 10.15.7 Catalina 中实测。

...
阅读全文