Windows 系统

清除 DNS 缓存

ipconfig /flushdns

查询 DNS 缓存

ipconfig/displaydns

Mac OS 系统

lookupd-flushcache

浏览器

Microsoft Edge

edge://net-internals/#dns

点击Clear Host Cache按钮

Microsoft Edge

chrome://net-internals/#dns

点击Clear Host Cache按钮

Linux 系统

指定协议走代理

让 http 协议走代理

export http_proxy="socks5://127.0.0.1:1080"

让 https 协议走代理

export https_proxy="socks5://127.0.0.1:1080"

全部协议走代理

或者直接让全部协议走代理

export all_proxy="socks5://127.0.0.1:1080"

取消代理

export http_proxy=""
export https_proxy=""
export all_proxy=""

Windows 系统

让 http 协议走代理

set http_proxy=socks5://127.0.0.1:1080

让 https 协议走代理

set https_proxy=socks5://127.0.0.1:1080

取消代理

set http_proxy=""
set https_proxy=""

使用宝塔很长时间,很早就发现宝塔安装的FTP不能使用被动模式。也尝试过解决,之前以为是端口不通,但开放端口后,发现还是不行。由于时间问题,也没再深入去解决,毕竟还可以用主动模式。

最近开始使用起vscode,然后安装了sftp同步插件,但发现同步文件非常慢,每次修改完文件都要十多秒才能把文件上传上去,效率太慢了。
于是打开调试模式,排查问题,最后发现这个插件不能指定使用主动模式,只能被动模式失败后才切换到主动模式,所以每次同步文件都要十多秒。
关键日志:

命令:    PASV
响应:    227 Entering Passive Mode (172,18,13,228,154,214)

客户端发出PASV被动模式命令,服务器返回了一个VPC内网IP,客户端尝试连接这个内网IP,但因为不是同一个内网,所以是连接不上的,指导超时才切换成主动模式。

服务器有两个IP,一个VPC内网IP,一个外网IP,pure-ftpd优先获取到了内网IP告知客户端将其作为被动模式IP,所以导致了被动模式不能使用的问题。
这种情况,我们只需要在配置文件里指定被动模式IP即可解决。编辑pure-ftpd的配置,搜索ForcePassiveIP,取消注释这行配置,修改IP为你的服务器外网IP。

这里假设你的服务器IP为8.8.8.8
ForcePassiveIP 8.8.8.8

保存,重启服务器,over

如果还是不行,那么要看看防火墙和安全组有没有放行被动模式的端口,宝塔安装的pure-ftpd软件的被动模式端口默认是3900040000,所以要先在防火墙和服务器安全组里放通这个端口范围。

服务器安全组是指阿里云或腾讯云的服务器,其它云服务器厂商基本都有

自己使用的服务器,为了方便远程修改同步文件,特地去ftp服务器有点浪费。linux服务器自带sftp功能,也能满足文件上传下载的功能,所以,整起!

安装宝塔面板后,系统里面已经有www用户了,但是是没有设置密码的,所以我们先设置下密码

sudo passwd www

然后输入两次密码即可完成密码设置

Changing password for user www.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

编辑openssh配置文件

vim /etc/ssh/sshd_config

找到下面这行配置

Subsystem sftp /usr/libexec/openssh/sftp-server

然后注释掉它

#Subsystem sftp /usr/libexec/openssh/sftp-server

接着在配置文件最后面新增以下配置

Subsystem sftp internal-sftp

Match User www
    ChrootDirectory /www/wwwroot
    X11Forwarding no
    AllowTcpForwarding no
    PermitTTY no
    ForceCommand internal-sftp

保存配置文件,然后重启openssh服务

service sshd restart

大功告成