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

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

新規登録して質問してみよう
ただいま回答率
85.35%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

1571閲覧

perlでHTTPステータスコードが301を返すのはなぜか

tego39453

総合スコア7

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2021/09/03 07:29

編集2021/09/03 13:46

前提・実現したいこと

さくらのVPSでサーバーを運営しています。

環境
OS: centos6.8
Server version: Apache/2.2.1

DoS攻撃対策のために mod_evasive をインストールしました。
動作確認用にtest.pl というファイルが付属しているのですが、期待通りに動作しません。
サーバーの設定に問題があると思うのですが、perl が分からないためどこを変更していいのか分かりません。

test.plのソースコード

# cat /usr/share/doc/mod_evasive-1.10.1/test.pl #!/usr/bin/perl # test.pl: small script to test mod_dosevasive's effectiveness use IO::Socket; use strict; for(0..100) { my($response); my($SOCKET) = new IO::Socket::INET( Proto => "tcp", PeerAddr=> "127.0.0.1:80"); if (! defined $SOCKET) { die $!; } print $SOCKET "GET /?$_ HTTP/1.0\r\n\r\n"; $response = <$SOCKET>; print $response; close($SOCKET); }

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

test.pl をターミナルから動作させると HTTP/1.1 200 OK がいくつか返ってその後以降は HTTP/1.1 403 Forbidden が返るというのが本来のど長です。

本来あるべき動作

HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden HTTP/1.1 403 Forbidden

しかし運営しているサーバーでは HTTP/1.0 301 Moved Permanently が返ってきてしまいます。

こう返ってきてしまう

HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently HTTP/1.0 301 Moved Permanently

サーバー二つで別々のWEBサイトを運営していますが、片方が問題なく動作して、もう片方だけが HTTP/1.0 301 Moved Permanently を返してしまいます。

また、別のサーバーから問題のサーバーのipアドレスを指定して test.pl を実行しても 301 Moved Permanently が返ってきます。

サーバーの設定を変更することで問題を解消できるかと思うのですが、どこをいじっていいものか分かりません。

ご教授お願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

サーバー側の設定としか言い様がないです。
設定ファイルの記述かも知れないし、起動されるプログラムの処理でかも知れないし。

ブラウザで該当URLをアクセスしてみると、リダイレクトでアドレスバーが書き換わると思うので、書き換わった後のURLを使って処理すればおそらく良いかと思います。
プログラムで処理した上で、何らかの条件でリダイレクトしているのであれば駄目かも知れませんが。

投稿2021/09/03 07:55

otn

総合スコア85901

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

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

otn

2021/09/03 07:57

そのサーバーの担当者に、「~~というURLでアクセスすると301なのは何故?」と聞くのが良いと思いますが。
tego39453

2021/09/03 13:41

個人運営でサーバーの担当者というものが存在しなくて困っております。
otn

2021/09/03 22:45

自分が担当者と言うことですか? 意図的な設定以外だと、ディレクトリに対して/を付けずにアクセスすると、/付きにリダイレクトしますね。 http://example.com/foohttp://example.com/foo/
otn

2021/09/03 22:46

回答に書いた方法で駄目だったと言うことであれば、具体的な情報を書いてもらうしか無いですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問