質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Q&A

解決済

2回答

1702閲覧

XserverのレンタルサーバーにRemote SSHで接続するとcgiファイルの実行が500エラーになる

suika-

総合スコア12

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

0グッド

0クリップ

投稿2022/10/15 12:28

前提

Xserverのレンタルサーバーにvscodeの拡張機能Remote SSHで接続しています。
接続は公開鍵認証用鍵を使っています。
パーミッションは755に変更しています。
文字コードUTF-8です。
リソースはまだ余裕があります。

発生している問題・エラーメッセージ

Remote SSH接続時のpython、perlなどを含むcgiの実行ができません。
xserverの機能「CGIツール」も使用できません。
ディレクトリの読み込みが終わるタイミングでブラウザ側で500エラーが出ます。
接続切断すると即座に通常通りの動きになります。
エラーメッセージはサーバーのエラーログです。

End of script output before headers

試したこと

  • SSH構成ファイルからprotocol 2 から1に変更
  • 公開鍵にパスフレーズを追加
  • 拡張機能の相性問題を懸念し、RemoteSSHだけにする。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

以前、同じ現象に遭遇してterateilにも相談した事があります。

原因はXSERVERの公式サイトに書いてあります。

(参考)「500 Internal Server Error」というエラーが表示されてホームページが見られません。
https://support.xserver.ne.jp/faq/service_hp_trouble_500.php

また、CGIへのアクセスにおいて断続的に「500 Internal Server Error」エラーが発生し、CGIが実行できるときとできないときがある場合もこちらに該当する可能性があります。
プログラムへのアクセス集中等により発生しますが、すでに稼働中のプロセスが終了し、リソースに余裕が生じるととともに自動的にエラーは解消されますので、しばらくお待ちのうえ、改めて状況をご確認ください。

つまり、VSCodeでSSHしている時、サーバー側で稼働中のプロセスがXSERVERに負荷をかけており、XSERVER側が、サーバー保護の為に、意図的にアクセスを遮断しているのではないかと思われます。
なので、SSH接続を切断すると負荷が下がり、普通にアクセスが出来る様になるのではないかと。

確認方法

VSCodeで、XSERVERにSSH接続をしている時、
ターミナルから「ps ux --sort -%cpu」というコマンドを実行すると、
CPU使用率の高いプロセス順にソートして表示されます。

私の場合は、vscode関連のいくつかのプロセスが高負荷状態になっており、
合計するとCPU使用率が100%を越えてしまっていました。
これを解消すればよいわけです。

探してみたところ、以下のサイトが解消方法を紹介してくれており、分かりやすいかと思います。

(参考)Visual Studio CodeでのSSH接続により、EC2サーバーが高負荷になり動かなくなった
https://tech.excite.co.jp/entry/2022/09/27/153341

私の場合は、Watcher excludeで以下を指定するだけで、負荷の高い状態が解消され、
SSH接続中でも、CGIの実行が可能となりました。

**/.vscode-server/**

もう諦めてしまったかも知れませんが…ご参考までに。

投稿2023/05/08 07:41

chibi_kuma

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suika-

2023/05/09 00:15

ありがとうございます!やはりRemoteSSH接続は便利なので直ぐに試してみます!
chibi_kuma

2023/05/10 09:44

ごめんなさい。 すごく自信満々に書き込みをしたのですが、自分の環境で、現象が再発することに気が付きました。 SSH接続を開始して数分はCGIが動くのですが、しばらく経つと徐々に負荷が上がってきて、また500Error…。 Watcher excludeの指定を増やしてみても、回避できず、がっかり。もう少しこちらでも調べてみます。 ベストアンサーは剥奪してください…。ほんとごめんなさい。
chibi_kuma

2023/05/12 09:26

VSCodeの拡張機能の検索窓に「@builtin」と打ち込むと、VSCodeにデフォルトで組み込まれている機能一覧が出てきます。 リントやインテリセンスなどの機能を提供している(と思われる) 「言語サーバー」が、サーバーに負荷をかけているようで、 私の環境では「〇〇の基本言語サポート(〇〇は開発言語名が入る)」を、 全て無効にしたところ、SSH接続後、何分経っても500エラーにならなくなりました。 しかし、この機能が使えないと痛い… ソースコードの色分けも、タイプミスのチェックなども機能しなくなり、不便…。 試しに「Pythonの基本言語サポート(Python Language Basics)」だけ有効化してみたのですが、 有効化した途端に500エラーに。 んー、そういえば、「ps ux --sort -%cpu」で確認すると、CPU使用率上位は、Pythonの拡張機能だった…。 もう一度、無効に戻してVSCodeを再起動し、 500エラーから復旧した事を確認します。 今度は「PHPの基本言語サポート」だけ有効化してみると、500エラーにならない…。 HTML、JavaScript、JSONなど、少しずつ有効化してみましたが、結局500エラーになるのは、Pythonだけ。 インストールしている拡張機能や開発言語によって、サーバーの負荷のかかり方が違うのかも知れません。 私のはPython開発用環境でして、Pythonの拡張機能が入っているので、Pythonだけが落ちるのかも知れません。 お使いの収容サーバーのスペックによっても、状況が違うのではないかと思われます。 ご自身のサーバーで、どこまで無効化すれば500エラーが出なくなるかは、手探りにはなりますが、探してみてください。 ちなみに、一度言語サポートを有効化してしまうと、サーバー側でプロセスが起動してしまうらしく、無効化に戻してもサーバーの負荷は落ちません。 VSCode再起動が必要です。
guest

0

解決出来そうにないので締めます

投稿2022/12/15 07:57

suika-

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問