内网服务器如何调用第三方的API?
我的服务器架构是:
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连接,从而提高安全性。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wie fixiere ich Nginx 403 Verbotener Fehler? Überprüfen Sie die Datei- oder Verzeichnisberechtigungen; 2.Htaccess -Datei prüfen; 3. Überprüfen Sie die Konfigurationsdatei der Nginx; 4. Starten Sie Nginx neu. Weitere mögliche Ursachen sind Firewall -Regeln, Selinux -Einstellungen oder Anwendungsprobleme.

Der Server verfügt nicht über die Berechtigung, auf die angeforderte Ressource zuzugreifen, was zu einem NGINX 403 -Fehler führt. Zu den Lösungen gehören: Überprüfung der Dateiberechtigungen. Überprüfen Sie die Konfiguration .htaccess. Überprüfen Sie die Nginx -Konfiguration. Konfigurieren Sie Selinux -Berechtigungen. Überprüfen Sie die Firewall -Regeln. Fehlerbehebung bei anderen Ursachen wie Browserproblemen, Serverausfällen oder anderen möglichen Fehlern.

Antwort auf die Frage: 304 Nicht geänderter Fehler gibt an, dass der Browser die neueste Ressourcenversion der Client -Anfrage zwischengespeichert hat. Lösung: 1. Löschen Sie den Browser -Cache; 2. Deaktivieren Sie den Browser -Cache; 3. Konfigurieren Sie Nginx, um den Client -Cache zu ermöglichen. 4. Überprüfen Sie die Dateiberechtigungen; 5. Datei Hash prüfen; 6. Deaktivieren Sie CDN oder Reverse Proxy -Cache; 7. Starten Sie Nginx neu.

Schritte zum Starten von Nginx unter Linux: Überprüfen Sie, ob Nginx installiert ist. Verwenden Sie SystemCTL Start Nginx, um den Nginx -Dienst zu starten. Verwenden Sie SystemCTL aktivieren NGINX, um das automatische Start von NGINX beim Systemstart zu aktivieren. Verwenden Sie den SystemCTL -Status NGINX, um zu überprüfen, ob das Startup erfolgreich ist. Besuchen Sie http: // localhost in einem Webbrowser, um die Standard -Begrüßungsseite anzuzeigen.

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Die Methoden zum Anzeigen des laufenden Status von Nginx sind: Verwenden Sie den Befehl ps, um den Prozessstatus anzuzeigen; Zeigen Sie die nginx -Konfigurationsdatei /etc/nginx/nginx.conf an; Verwenden Sie das Nginx -Statusmodul, um den Statusendpunkt zu aktivieren. Verwenden Sie Überwachungstools wie Prometheus, Zabbix oder Nagios.

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Das Fehlerprotokoll befindet sich in/var/log/nginx (Linux) oder/usr/local/var/log/nginx (macOS). Verwenden Sie die Befehlszeile, um die Schritte zu beseitigen: 1. Sicherung des ursprünglichen Protokolls; 2. Erstellen Sie eine leere Datei als neues Protokoll; 3. Starten Sie den Nginx -Dienst neu. Die automatische Reinigung kann auch mit Tools von Drittanbietern wie lehnte oder konfiguriertem verwendet werden.
