Il existe une interface qui communique via socket. Il existe des restrictions IP sur l'accès au serveur homologue, nous devons donc utiliser la machine Springboard car elle a l'autorisation d'accéder au serveur homologue. nginx1.9 commence à prendre en charge le transfert de couche TCP, qui est implémenté via le flux, et le socket est également basé sur la communication TCP.
Processus d'implémentation :
1. Installez nginx, le module stream n'est pas installé par défaut et doit être ajouté manuellement des paramètres : –with-stream, sélectionnez nginx1.9 ou supérieur en fonction de la version de votre système.
Configuration 2.nginx.conf, reportez-vous à la description : ngx_stream_core_module
nginx.conf
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { ................. } # tcp层转发的配置文件夹 include /etc/nginx/tcp.d/*.conf;
Veuillez noter que la configuration du flux ne peut pas être placé dans http, c'est-à-dire qu'il ne peut pas être placé dans /etc/nginx/conf.d/, car le flux est transmis via la couche TCP, pas via http.
Si configuré en http, l'erreur suivante sera signalée au démarrage de nginx :
nginx: [emerg] "server" directive is not allowed here
3 Créez un nouveau fichier bss_num_30001.conf sous tcp.d avec le contenu suivant : <.>
stream { # 添加socket转发的代理 upstream bss_num_socket { hash $remote_addr consistent; # 转发的目的地址和端口 server 130.51.11.33:19001 weight=5 max_fails=3 fail_timeout=30s; } # 提供转发的服务,即访问localhost:30001,会跳转至代理bss_num_socket指定的转发地址 server { listen 30001; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass bss_num_socket; } }
4. Redémarrez nginx et accédez à localhost:30001 Il passera à l'adresse de transfert 130.51.11.33:19001 spécifiée par bss_num_socket.
Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonneTutoriel Nginx pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!