問題タブ [scgi]
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.
xml-rpc - SCGI チャネルと直接通信する
ホーム サーバーで、SCGI (XML-RPC) サーバー (rtorrent) と通信するコマンド ライン スクリプトを作成しようとしています。それは私が得意とする唯一の言語なので、PHP (php-cli) を使用したいと考えています。ただし、これを行う方法に関する詳細情報を見つけようとしているので、ウェブサーバーを使用して SCGI サーバーにリダイレクトする唯一の解決策を見つけることができます。単純なスクリプトを実行するためだけに Web サーバーをインストールすることは避けたいので、PHP で直接 SCGI と通信する方法があるかどうか疑問に思っています。
これを行う Python スクリプトをいくつか見つけましたが、Python を使用したことがなく、別の言語を学ぶつもりもありません。
それで、これを始めるのに役立つリソースを誰か教えてもらえますか?
ruby - Redmine 2.3、ruby 2.0.0、nginx 1.4.1 とパッセンジャー 4.0.2 のすべての HTTP POST が失敗する
私はnginxを初めて使用し、ruby 2.0.0、phusion Passenger 4.0.2、およびnginx 1.4.1を使用してRedmine 2.3を実行しようとしています。これは、Arch Linux ARM の ARMv5te システムで Passenger-install-nginx スクリプトからコンパイルされます。
nginx ログに次のように表示されます: (注: ログ/構成からサーバー名を削除しました)
redmine の任意のページで HTTP POST を実行するたびに、最後のエラーが一貫して発生します。HTTP GET リクエストは、レンダリングされたページで正常に機能します。
nginx.conf
サイト対応/redmine.conf
関連する可能性のあることの1つ-組み込みのRuby Webrickサーバーを使用すると、redmineを正常に実行できるため、これはnginx/passengerの問題である可能性が高いと推測しています. 誰が問題が何であるかについて何か考えを持っていますか?
regex - Nginx変数+構成内の正規表現
私の /etc/nginx/nginx.conf で
1番目の例:
httpwebsite/~user1/ にアクセスすると、Web フォルダーが /home/user1/web にリダイレクトされます。
httpwebsite/~nextuser/ にアクセスすると、/home/nextuser/web にリダイレクトされます
2 番目の例: scgi マウントで同じことをしたい:
最初の例のように、この 2 行のコードをワイルドカード 1 行に変換するにはどうすればよいですか? 基本的に /RPC-$USERNAME のようなものを scgi_pass /home/$USERNAME/scgi.socket に渡します
webserver - uWSGI プロトコルと SCGI の主な違いは何ですか?
現在、Web サーバーと通信する必要があるサーバーを作成しています。サーバーと Web サーバー、SCGI、または uWSGI プロトコルの間のギャップを埋めるために何を使用すればよいかわかりません。ある時点で、uWSGI プロトコルが SCGI から派生したものであるという uwsgiドキュメントのどこかを読んだことを誓いますが、その行はもう見つかりません。
それらはどのように異なりますか?
c++ - null 文字を含む文字列を解析できません
SCGIリクエスト用のパーサーを書こうとしています。例で説明されている文字列を解析しようとしていますが、何らかの理由で、コンテンツの長さの値と次のプロパティ名を区切る 2 番目の null 文字の位置を見つけることができません。
これは私のテスト文字列です:
最初の null 文字の位置 18 を見つけることができます。しかし、その後の位置を見つけようとすると、返された位置は無効になり、位置 24 まで数文字ずれます。
これは私のアルゴリズムです:
nginx - 間違った長さのネット文字列を返すnginx?
nginx version: nginx/1.7.9
最新の OSX を実行している Mac に macports 経由でnginx ( ) をインストールしました。
SCGI を使用するように URI を構成しました。
で GET リクエストを実行すると127.0.0.1/server
、SCGI サーバーで次のように表示されます。
633:CONTENT_LENGTH0REQUEST_METHODGETREQUEST_URI/serverQUERY_STRINGCONTENT_TYPEDOCUMENT_URI/serverDOCUMENT_ROOT/opt/local/htmlSCGI1SERVER_PROTOCOLHTTP/1.1REMOTE_ADDR127.0.0.1REMOTE_PORT62088SERVER_PORT80SERVER_NAMElocalhostHTTP_HOST127.0.0.1HTTP_CONNECTIONkeep-aliveHTTP_CACHE_CONTROLmax-age=0HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml;q=0.9,image/webp , / ;q=0.8HTTP_USER_AGENTMozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/40.0.2214.115 Safari/537.36HTTP_DNT1HTTP_ACCEPT_ENCODINGgzip, deflate, sdchHTTP_ACCEPT_LANGUAGEen-US,en;q=0.8,ファイルの
問題は、ネット文字列の長さ 633 が解釈と一致しないことです。netstrings の仕様:
を正しく理解していれば、最初と最後の間の文字の長さは 633 になるはずです,
。
8 ビット バイトの任意の文字列は、[len]":"[string]"," としてエンコードできます。ここで、[string] は文字列で、[len] は [string] の長さを 10 進数で示す空でない ASCII 数字のシーケンスです。ASCII 数字は、0 の場合は <30>、1 の場合は <31>、9 の場合は <39> まで続きます。[len] の前にある余分なゼロは禁止されています。文字列] は空です。
たとえば、文字列はhello world!
としてエンコードされます。31 32 3a 68 65 6c 6c 6f 20 77 6f 72 6c 64 21 2c
12:hello world!,
だから、私は間違った長さを取得しています。これはどのように説明できますか?