ソケットを介して通信するインターフェースがありますが、ピアサーバーへのアクセスにはIP制限があるため、ピアサーバーへのアクセス権限を持つ踏み台マシンを使用する必要があります。 nginx1.9 では、ストリームを介して実装される TCP 層転送のサポートが開始され、ソケットも TCP 通信に基づいています。
実装プロセス:
1. nginx をインストールします。ストリーム モジュールはデフォルトではインストールされず、パラメータを追加します: –with-stream、システムのバージョンに応じて nginx1.9 以降を選択します。
2.nginx.conf 設定については、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;
ストリーム設定が異なることに注意してください。ストリームは http ではなく tcp 層を介して転送されるため、http 内に配置することはできません。つまり、/etc/nginx/conf.d/ に配置することはできません。
http で設定されている場合、nginx の起動時に次のエラーが報告されます:
nginx: [emerg] "server" directive is not allowed here
3. 次の内容を含む新しい bss_num_30001.conf ファイルを tcp.d の下に作成します。 ##
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. nginx を再起動し、localhost:30001 にアクセスすると、bss_num_socket で指定した転送アドレス 130.51.11.33:19001 にジャンプします。
Nginx 関連の技術記事の詳細については、Nginx 使用チュートリアル 列にアクセスして学習してください。
以上がnginxはソケットをサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。