首页 >
文章 >
杂文
如果想访问一个国内访问不了的国外接口,该如何操作?
时间:2025-07-28 10:40:35 点击: 来源:本站 作者:admin
有这么一个需求,业务上想通过curl的方式请求国外的一个接口,但是国外接口在国内无法访问,我们该如何操作呢。
这种情况我们可以通过简单的代理的方式来实现,下面给大家提供几 ...
有这么一个需求,业务上想通过curl的方式请求国外的一个接口,但是国外接口在国内无法访问,我们该如何操作呢。

这种情况我们可以通过简单的代理的方式来实现,下面给大家提供几种方式来实现我们的需求:
方法一:使用 Squid HTTP 代理(适合浏览器和 HTTP 工具)
步骤(假设国外服务器系统为 Ubuntu):
安装 Squid
sudo apt update
sudo apt install squid -y
编辑配置文件
sudo nano /etc/squid/squid.conf
在配置文件末尾添加:
http_access allow all
http_port 3128
重启 Squid
sudo systemctl restart squid
sudo systemctl enable squid
开放 3128 端口(防火墙设置)
sudo ufw allow 3128
国内访问方式(以 curl 为例)
curl -x http://<你国外服务器IP>:3128 https://v1.cnop.net
方法二:使用 socat 建立端口转发(适合单一接口转发)
如果你只想让国内访问某一个接口地址,比如 https://v1.cnop.net,可以在国外服务器上直接转发。
步骤:
安装 socat
sudo apt update
sudo apt install socat -y
启动转发(将国外服务器的某个端口转发到接口)
sudo socat TCP-LISTEN:8888,reuseaddr,fork TLS:api.cnop.net:443,verify=0
上面会将 https://v1.cnop.net 映射到 http://your-server-ip:8888
国内访问方式:
curl -k http://your-server-ip:8888
方法三:使用 SSH 动态代理(适合临时使用,适配全局流量)
如果你只偶尔访问该接口,也可以使用 SSH 建立一个 SOCKS 代理:
国内电脑执行命令(假设你用的是 Linux/Mac):
ssh -D 1080 user@国外服务器IP
Windows 可以使用 PuTTY / MobaXterm 等工具配置 SOCKS5 代理。
然后将你国内软件(curl、Postman、浏览器)配置 SOCKS5 代理:
socks5://127.0.0.1:1080
进阶:nginx 反向代理(适合接口映射,自建中转服务)
如果你想给 https://v1.cnop.net 设置一个国内可用的中转地址,可以在国外服务器上用 NGINX 设置反向代理:
安装 NGINX:
sudo apt install nginx -y
配置代理(/etc/nginx/sites-enabled/default 或新增配置):
server {
listen 8080;
location / {
proxy_pass https://v1.cnop.net;
proxy_ssl_verify off;
}
}
重启 NGINX:
sudo systemctl restart nginx
国内访问:
curl http://your-server-ip:8080
”您可通过以下微信二维码,赞赏作者“
