目录
回复内容:
首页 后端开发 php教程 内网服务器如何调用第三方的API?

内网服务器如何调用第三方的API?

Jun 06, 2016 pm 08:45 PM
linux nginx php 代理

我的服务器架构是:
1.一台反向代理,能访问外网 LINUX NGINX;
2.两台应用服务器跑PHP程序 LINUX NGINX PHP;
3.一台DB、一台CACHE

现在开放平台很多,我们项目采用了不少第三方的API如(七牛、微信、支付宝等),问题是这些API都需要向外网请求的。我的代码都跑在内网里面,调用不到API。
我现在的解决办法就是把需要调外网的都另外写一份代码放到外网服务器上跑,但是这样问题很多,一些公共的类什么的也要维护两份。

我想问问能否在外网机上做代理,给内网机通过代理访问外网的方式来调用开放平台的接口呢?

回复内容:

我的服务器架构是:
1.一台反向代理,能访问外网 LINUX NGINX;
2.两台应用服务器跑PHP程序 LINUX NGINX PHP;
3.一台DB、一台CACHE

现在开放平台很多,我们项目采用了不少第三方的API如(七牛、微信、支付宝等),问题是这些API都需要向外网请求的。我的代码都跑在内网里面,调用不到API。
我现在的解决办法就是把需要调外网的都另外写一份代码放到外网服务器上跑,但是这样问题很多,一些公共的类什么的也要维护两份。

我想问问能否在外网机上做代理,给内网机通过代理访问外网的方式来调用开放平台的接口呢?

能访问外网的服务器上搭建一个http透明代理只允许内网访问,内网CURL指定proxy就可以了。

你跑PHP的机器是怎么做到不能上网的?

可以使用SSH的端口转发功能实现。
假定A是本地内网主机,B是远程提供第三方服务的主机,这两台主机之间无法连通。但是,现在还有一台C,可以同时连通前面两台主机。因此,很自然的想法就是,通过C,将A连上B。
在A上执行如下命令:

ssh -L 3002:B:3001 C
登录后复制

参数的意思是“本地端口:目标主机:目标主机端口"。这条命令的意思就是指定SSH绑定本地端口3002,然后指定C将所有的数据,转发到目标主机B的3001端口(你也可以指定其它端口)。

这样一来,我们只要连接A的3002端口,就等于连上了B的3001端口。这样我们还可以让那些不加密的网络连接,全部改走SSH连接,从而提高安全性。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1663
14
CakePHP 教程
1420
52
Laravel 教程
1313
25
PHP教程
1266
29
C# 教程
1239
24
Linux体系结构:揭示5个基本组件 Linux体系结构:揭示5个基本组件 Apr 20, 2025 am 12:04 AM

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

继续使用PHP:耐力的原因 继续使用PHP:耐力的原因 Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

IIS和PHP的兼容性:深度潜水 IIS和PHP的兼容性:深度潜水 Apr 22, 2025 am 12:01 AM

IIS和PHP可以兼容,通过FastCGI实现。1.IIS通过配置文件将.php文件请求转发给FastCGI模块。2.FastCGI模块启动PHP进程处理请求,提高性能和稳定性。3.实际应用中需注意配置细节、错误调试和性能优化。

Linux上的Docker:Linux系统的容器化 Linux上的Docker:Linux系统的容器化 Apr 22, 2025 am 12:03 AM

Docker在Linux上重要,因为Linux是其原生平台,提供了丰富的工具和社区支持。1.安装Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。2.创建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。3.编写Dockerfile:优化镜像大小,使用多阶段构建。4.优化和调试:使用dockerlogs和dockerex

使用Laravel:使用PHP简化Web开发 使用Laravel:使用PHP简化Web开发 Apr 19, 2025 am 12:18 AM

Laravel优化Web开发流程的方法包括:1.使用路由系统管理URL结构;2.利用Blade模板引擎简化视图开发;3.通过队列处理耗时任务;4.使用EloquentORM简化数据库操作;5.遵循最佳实践提高代码质量和可维护性。

如果session_start()被多次调用会发生什么? 如果session_start()被多次调用会发生什么? Apr 25, 2025 am 12:06 AM

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

CENTOS:安全性,稳定性和性能 CENTOS:安全性,稳定性和性能 Apr 21, 2025 am 12:11 AM

CentOS因其卓越的安全性、稳定性和性能成为服务器和企业环境的首选。 1)安全性通过SELinux提供强制访问控制,提升系统安全。 2)稳定性得益于长达10年的LTS版本支持,确保系统稳定。 3)性能通过优化内核和系统配置,显着提高系统响应速度和资源利用率。

NGINX与Apache:性能,可伸缩性和效率 NGINX与Apache:性能,可伸缩性和效率 Apr 19, 2025 am 12:05 AM

NGINX和Apache都是强大的Web服务器,各自在性能、可扩展性和效率上有独特的优势和不足。1)NGINX在处理静态内容和反向代理时表现出色,适合高并发场景。2)Apache在处理动态内容时表现更好,适合需要丰富模块支持的项目。选择服务器应根据项目需求和场景来决定。

See all articles