問題タブ [xinetd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - listen と fork から xinetd へ
現在リッスンおよびフォーク モードで動作する C ネットワーク ソフトウェアを使用しています。サーバーソケットでリッスンしており、着信接続を受け入れます。次に、新しく受け入れられたソケットを提供するコア サーバー関数を呼び出します。
現在、そのソフトウェアを xinetd の背後でも動作させようとしています (ランタイム パラメータによっては)。受け入れられたソケットの代わりにファイル記述子 0 を提供するコア サーバー関数を直接呼び出そうとしましたが、この方法は機能しません。プログラムは SIG_PIPE で即座に停止します。
そのような行動に明らかな理由はありますか?私のコア関数は、いくつかの低レベルのソケット呼び出しとシグナル処理を実行します。それは xinetd の背後で動作するはずですか?
python - python xinetdクライアントがデータを受信していません
コマンド (tracejob) をリモートで実行するために xinetd を使用しようとしています。telnet 経由で接続すると、すべて正常に動作します。残念ながら、私が作成したクライアントはサーバーからデータを受信していないようです。コードは次のようになります。
サーバ:
クライアント:
クライアント プロセスは sock.recv(1024) 行で停止します。sock.recv がソケットからの出力を読み取っていない理由は、私の人生ではわかりません。おそらくコーディングの問題ですか?役に立った場合、xinetd.d ファイルは次のようになります。
ここで、tracejob_xinetd.py は上記のサーバーです。
任意のヒント?前もって感謝します。
ubuntu - xinetdの解決「トランスポートエンドポイントが接続されていません」
xinetdで動作する単純なWebSocketプロキシを取得しようとしています。
プロキシはここにあります:https ://github.com/kumina/wsproxy (vncの基本プロキシ)
これが私のxinetd/wsproxy設定です:
また、「wait=yes」や「wait=no」などのさまざまな変更を試しても同じ結果になります
私はsyslogでこのような100のエントリを取得します:
そして最後に :
xinetdが実行されており、netstatでも同様です。
髪の毛を抜いて、なぜ動かないのかわからない。
(ubuntu 11.04 x64を実行)
何か案は ?
xinetd - CENT OS xinetd サービス
CENT OS Linux ボックスで /etc/services を使用して pop3 ポートを開きたい。/etc/xinet.d/ に pop3 スクリプトを追加します。そのファイルを変更した後、/etc/rc.d/init.d/xinetd を再起動できません。そのディレクトリにはxinetdファイルはありません。
xinetd 起動スクリプトなしで xinetd を再起動するにはどうすればよいですか。
ありがとう。
java - 暗号化 (ssl) と xinetd の両方で JRMP (RMI) を使用するには?
そのため、私は独自の Java ベースのアプリケーション サーバーを開発しています(Glassfish などは Web ベース以外のアプリケーション向けではないため)。もちろん、暗号化は絶対に必要です。SslRMIClientSocketFactory
そこで、標準の とを使用して基本的な SSL ソリューションをコーディングしましたSSLRMIServerSocketFactory
。ここまでは順調ですね。ただし、クライアント側の証明書の使用を許可するが必要としないなど、他にもいくつかの問題があります (システムに SSH で接続する場合など)。
しかし、途中で「Java 5.0」が登場した 2005 年以降、xinetd
「nix ベースのソリューションを使用するための助けが明らかになった」ことに気付きました。これを行う際の「新しい」ヘルプは、 xinetd - via のように、下位レベルから「継承」されたソケット情報を取得する機能であるように思われSystem.inheritedChannel
ます。
RMI ソリューションで暗号化と xinetd を一緒に使用する例が必要だと考えたところ、 The New RMIという優れた記事を見つけました。記事がありませんでした。少し腐っていると思います。(誰もコピーを持っていますか?!) 記事に表示されている例は不完全すぎて、テキストはサンプル コードがあるという事実に依存しています。しかたがない。簡単に言えば、よくわかりません-使用するSystem.inheritedChannel
ことは、既存のRMIレジストリ関連のコードにプラグインするだけでは明らかに簡単ではありません-明らかにソケットファクトリを作成する必要があります。 、例を探しています。
だから狩りに行った。Apache 関係者も同様のことを行っていることがわかりました。ここでRMI Service Exporterについて説明していますが、それは私がむしろ避けたい技術である SpringBeans を使用しています。そして、これは重要な例であるため、率直に言って、自分の仕事でこの種のソリューションをどのように使用すればよいか、少し迷っています。
探し続けたところ、一見したところInitializeRegistryという名前の優れたソリューションのように見えましたが、SSL への参照がまったくなく、すぐに迷子になりました。たとえば、次のように説明しています。
レジストリを作成してエクスポートし (継承されたチャネルがある場合はそれを使用して)、そのレジストリ内の指定されたプロキシに指定された名前をバインドします。
ここでの私の問題は言語です。特に、私はプロキシを使用していません。使用していたとしても、なぜそれが問題になるのかわかりません。また、名前だけでなく、オブジェクトを RMI レジストリにバインドしていると思いました。おそらく、誰かが自分のしていることを明確にすることができれば、これは良い例です...
最後に、ここ StackOverflow で、 Java RMI、SSL、および圧縮について話しているすばらしい回答を偶然見つけました。これまでで最も素晴らしいものの 1 つです。圧縮は私のニーズには関係ありませんが、それは興味深い議論です。それでも、RMIをSSLとxinetdの両方で同時に使用する方法を理解するのにどのように役立つかわかりません...
ありがとうございました。
アップデート:
EJP の提案された回答 (感謝しています) に応えて、InitializeRegistry.java
上記の例から始めました。accept() メソッドを次のように更新しました。
ただし、このコードはコンパイルに失敗し、次のように不平を言っています。
createSocket()
静的コンテキストから呼び出すことはできません - そして私はそれに対する解決策を見つけることができませんでした.accept()
2 番目の「記号」「 」が見つかりませんでした。
final を削除すると、このコードの静的コンテキストから.accept()
「非静的メソッド」を使用できなくなるだけで、エラー カウントが減少します。createSocket()
しかし、クラスから「静的」を削除しようとすると、いたるところに落ちて、どこにでもある「this
」参照を使用できなくなります。OTOH、静的にする方法がわかりませんSSLSocketFactory.createSocket()
!
accept()
...渡されたソケット (!!) へのアクセスを取得するために使用されたもので十分であり、次に含めようとしたものは必要ないと推測しても安全ですか? うーん...
私はそれを試して、私だけがこれを構築できるかどうかを確認したいと思います.
ところで、後で使用する必要があると思いますsetUseClientMode(false)
...はい?
さらに考えて....
私はそれがおそらく悪い出発点であることに気づき、InitializeRegistry.java
「最初のプリンシパル」に戻りました。おそらく、最初にchannel
経由して与えられた を受け取り、それをSystem.inheritedChannel
に変換するときに道に迷ったことがわかったServerSocket
ので、オーバーライドのアイデアServerSocketFactory
は、まあ、"多くの作業"。そして、それは私を襲った:
ここでの要点は、要求されていない接続要求がリッスンしているターゲットに確実に到達するようにすることです。しかし、それ以上に、オブジェクトが有用であるためには、レジストリにオブジェクトが存在する必要があります。そのためには、それを作成するものも必要です。したがって、これを NETWORK SERVICE として解決することを心配するよりも、オブジェクトを作成するコードが SYSTEM SERVICE として実行されるようにする方が、同様に簡単です。
したがって、私はパントしています。...ただし、質問を削除するのは残念です。これは、他の誰かにガイダンスを提供する可能性があるためです。これは、この件に触れるすべての StackOverflow で唯一のクエリです。
再度、感謝します。
php - Xinetd は PHP でリモート IP を取得します
こんにちは、私は xinetd でこのサービスを利用しています:
私のファイルtest1.php:
リモート IP を取得できません:
リモートIPを取得できるので??
proxy - nginxとxinetdの違いは何ですか?
nginxとxinetdの違いは何ですか?
いつnginxを好むべきですか、そしていつxinetdを好むべきですか?
間違っているかもしれませんが、どちらもプロキシであるという印象を受けました。nginxの方がはるかに優れていると思いますが、xinetdの方が優れている点はありますか?
linux - Xinetdはstderrリダイレクトを無効にします
バイナリの1つをサービスとして実行するためにxinetdを設定しました。ただし、stdoutとstderrの両方がソケットストリームにリダイレクトされているように見えます。
stderrを無効にする方法はありますか?xinetd設定のサーバーフィールドで試してみましたserver = binary 2>/dev/null
が、機能しません
ありがとう
linux - xinetd との着信接続の受信時にスクリプトを実行する
特定のポートで接続が受信されたときに、xinetd がシェル スクリプトを実行するようにします。これを達成するには、次のチュートリアルに従ってください: [ここにリンクの説明を入力][1]
残念ながら、すべてが期待どおりに機能しないため、構成をお見せします。
xinetd によって呼び出されるスクリプトは、/usr/local/bin にあります。問題なく実行できます。
/etc/xinetd.d/testservice には次の内容があります。
/etc/services に次の行を追加しました。
次に、xinetdを再起動しましたservice xinetd restart
最後に、クライアントに接続しようとしました:
誰かがここで何がうまくいかなかったのか教えてもらえますか?
/var/log/syslog.1 からのいくつかの行を次に示します。
他のサービスは実行されているようです:
netstat -an | egrep 'Proto|LISTEN'
多分これも役に立ちます: