2012年01月06日

団塊の世代について団塊の世代と話したこと

はじめに(小説の宣伝文句調で)

団塊の世代である父親とその息子である自分が、年末のダラダラした空気の中で話している中で辿り着いた父親自身の団塊の世代観とは…

記憶が風化しないように大体流れを覚えている今のうちに記しておく。正しいとか間違えているとかではなく、そういう分析をした人がいたとうことで。

ないよう

自分「あのさ、年末にちょっとした知り合いと話をしている最中にこんな会話になったんだけど…」
父親「ん?」
自分「世の中の変化ってある程度人口とか構成している世代の雰囲気が影響していることもあるんじゃないかなーって話で、その世代の特徴っていうのがありそうだよね…と。」
父親「ふむ」
自分「例えば所謂ベビーブーム世代って数が多かったわけだから、例えば『数集めて寄ってたかれば何とかなるさ』みたいな論理で動きやすい傾向とかないかなって。」
父親「あー、あったろうね。あの頃はとりあえず勢いだけでどうにかしようとする傾向があったから。まぁ、世の中も右肩上がりだったからドンドン会社に入れることも出来たし。」
自分「やっぱりそうだよね。そういう人が今度上の世代になってきて今になるとさ、『数集めて…』っていうのが既にうまくいかないわけじゃない?『数集めずに工夫して…』っていう話が今だから。」
父親「確かにあの頃と今では求められていることも違うだろうしなぁ。」
自分「だよね。そうすると『今までやったことの無いことを別の方向性で考えろ』って言われている気がするんだよね。」
父親「おい、今キミと話していて重大なことに気づいてしまったぞ」
※親父はたまに芝居がかった口調でものを言ったりする。
自分「うん?」
父親「これって俺たちの『世代』に能力が無いからこんなことになっているような気がしてきた。『誰が』という話ではなくてもうこの世代にいる人の殆どが今求められることを達成できない。大阪の議員も橋下さん(大阪市長)に何か言われても全然言い返せないって石原さん(都知事)が言ってたらしいし。石原さんなんて俺たちよりも上の世代じゃない?いかに俺たちの世代が駄目かってことだ。上の世代も凄い人たちは戦争で亡くなったりもしたんだろうし鍛えられて無いんだろうな。」
自分「いやー、なにもそんなに否定しなくても、数がいるんだから多少割合が少なくても…」
父親「(食い気味に)いやっ。これはもう殆ど事実だと思うな。やっぱり俺たちの世代は早く退場して橋下さんみたいな若い人が…(以下長いので割愛)」

というわけで、うちの親父の考え方では自分の世代の能力が圧倒的に無いから今こんなことになっているのだと。自分はそこまでとは思っていないのだけど、なんだか過激な結果に辿り着かれてしまってちょっとびっくりした。

おしまいに

たまには世代の違う人となんかいろいろ話すのも良いのだけど、ものによってはびっくりするような結末になることもあるのであった。自分はこういうのは楽しいから良いのだけどね。

「老害」なんていう言葉で表されるものの正体はひょっとしてこういうものに近いところにあったりするのかなぁと書きながらぼんやり考えた。おしまい。

タグ:父親 経済
posted by ms2 at 13:39 | Comment(0) | TrackBack(0) | いろいろ | このブログの読者になる | 更新情報をチェックする
2011年12月06日

TCP通信が遅い場合の対処

はじめに

さくらVPSを利用してサービスを提供しているものがあるのだが、最近妙にWEBのアクセスが遅くなってしまった。元々速いとは言えなかったのだが、致命的に遅い。コンテンツの作成時にテストサーバとして確認用に利用することすらも困難になってしまったので、これは調査の必要があると思い立った。

経過

通常は「何が遅いのか」等の個々の問題を切り分けして解消するのであろうが、検索すると下記のような情報に行き当たった。

さくらのVPSで「Ubuntu」を利用していますが、回線速度が遅くアクセスに時間がかかります。

現象はまさに自身のサーバで起こっているものなので、これを試してみることにした。導入すると改善し、以前のような速度に戻った。

おしまいに

ただし、そもそもそれまでの速度よりも落ちてしまった別の原因があるはずで、実はまだ納得はいかない。VPSなので同居しているほかのサービスが帯域を使いまくっている可能性はあるだろう。pingが90msで返ってきているのでそれ程ネットワークが遅いわけでも無いと思うのだが…。

タグ:Linux
posted by ms2 at 11:36 | Comment(0) | TrackBack(0) | 運用・管理 | このブログの読者になる | 更新情報をチェックする
2011年11月30日

modxでファイルアップロードがうまくいかない場合

はじめに

運用管理をしているサーバの中にmodxというCMSが導入されているものがある。今回このmodxで「大きなファイルのアップロードがうまくいかないので見て欲しい」という依頼があった。

環境

まずは環境から。

  • modx 1.0.5J-r4
  • PHP 5.1.6
  • Apache2

経過

まずはPHPで一般的なファイルアップロードの問題と考えられたので、.htaccessで値の設定を行うことにした。下記のように.htaccessに追記する。

php_value memory_limit 300M
php_value post_max_size 256M
php_value upload_max_filesize 256M
php_value max_input_time 600
php_value max_execution_time 600

PHPのデフォルトは2Mまでのファイルに対応しているようなので、3M程度のファイルを作成してアップロードを試みた。ファイルの作成はWindowsならfsutilを利用すると便利らしい。modxの「エレメント」→「ファイル管理」でアップロードする。

アップロード完了しても完了の通知も無く、新しいファイルも追加された形跡がない。サーバ上にも当然上がっていない。

phpinfoはmodxからも確認できる。「レポート」→「システム情報」→「phpinfo()」と見ると、.htaccessの設定は有効になっている。phpのログにも、modxのイベントにも何も報告が無い。 PHPが止めていないと予測されるのでmodx側の何かだと予想された。

実はmodxにはファイルアップロード制限のオプションがある。「ツール」→「グローバル設定」→「アップロードサイズの上限」だ。しかしこの設定には以下のようなコメントが書いてある。

※この設定は現在は無効です。PHP4.2.3以降ではプログラム側で設定を変更できないようになっているためです。.htaccessやphp.iniでupload_max_filesizeの設定を変更してください。

とは言えものは試してここに200000000と入力して改めて試した。なんとうまくいく。どうやらコメントの方が間違えており、設定は有効に働くようだ。これで200Mのファイルアップロードに成功した。

おしまいに

上記のような経過を報告して今回の修正を終えた。ソフト本体に翻訳が追いついていないということなのだろう。ファイルのアップロードを制限した場合に何らかのイベントをログで残してくれていれば発見が早いと思うのだが、ひょっとしたらそういう設定もどこかにあるのかもしれない。

タグ:MODx LAMP PHP
posted by ms2 at 16:58 | Comment(0) | TrackBack(0) | 運用・管理 | このブログの読者になる | 更新情報をチェックする
2011年06月28日

お名前.comでのメールサーバの扱い

はじめに

お名前.comのサーバでバーチャルホスト運用しているのだが、どうもメールサーバの扱いに注意が必要そうなので記しておく。

前提

下記のような構成である。

  1. VPSサーバ
  2. CentOS5.3
  3. バーチャルホストで複数のWEBを運用
  4. SMTPサーバは基本的に外部ホストに設置されている

現象

あるタイミングでWEBの送信システムからのメールが自ドメイン(外部ホスト)のメールサーバに届かなくなってしまう。同様に自ホスト内(別ドメイン)からのメールが外部ホストのSMTPサーバに届かなくなってしまう。

原因

/etc/postfix/virtual_domain_mapの内容が上書き更新されてしまい、外部ホストのSMTPサーバに対して同一ホストにいないという意味合いに修正した部分が意図しない更新を受けた。

/etc/postfix/virtual_domain_mapで設定するのは同一ホスト内に設置されたSMTPサーバとみなせるドメインの一覧であるらしい。お名前.comではWEBやメールが自身から一緒に提供されるものとしているようで、あるドメインを登録すると、そのWEBとメールが同一ホスト内にあるとみなした設定を自動的に行うようだ。こちらはそれを嫌って、/etc/postfix/virtual_domain_mapに自動的に書かれる設定をコメントしている。先に記したように、SMTPサーバは外部ホストに存在する為だ。

厄介なことに、ドメインの操作(例えばサブドメインを新たに作成したり、削除したりする等)をすると、改めて/etc/postfix/virtual_domain_mapを上書き更新してくれる。せっかくコメントしたものを全部生かしてくれるために、外部ホストにあるメールサーバが同一ホスト内だとみなされて、結果的に送信できなくなってしまう。

解決

今のところは運用でカバーする予定。ドメインの操作をする場合には情報を共有してやる以外に方法がないだろうと考えている。ひょっとしたら書込み禁止属性にしてしまえば更新はされなくなるかもしれない。

おしまいに

確かに初心者向けに倒していらぬサポートを減らしたいという意図はわかるのだが、ちょっとこの動作はやりすぎな気がする。

posted by ms2 at 01:28 | Comment(0) | TrackBack(0) | 運用・管理 | このブログの読者になる | 更新情報をチェックする
2011年06月24日

restrant-jというJavaEEのフレームワーク書いてます

はじめに

ちょっと宣伝。結構前からJavaEE用のとっても薄いプレゼンテーション層(Viewは含まないので厳密にはコントローラ周辺)のフレームワークを書いていました。restrant-jと言います。元々は自分のプロジェクト専用で自分だけが書きやすければ良いという動機です。

最近の変更で、JavaScriptのスタブも自動的に作るようにしたので、大体一区切りが見えてきたので宣伝してみようかと思いました。まだまだなところも多いかもしれませんが、興味を持ってくれる人がいたら幸いです。

コンセプト

一応wikiに記述を試みましたが、英語は苦手なものでうまく表現できたかわかりません。とりあえず努力はしてみました。以下はそれと同じような説明ですが、どんなことを考えて書いているのかを含めて記します。

Route class

RoRのroute.rbがとても扱いやすかったのでこれに倣っています。多くのJavaのフレームワークではControllerやメソッドにアノテーションを付与してURLとのマッピングを行いますが、URLはプログラムの構造とは別に変更できるべきだと考えています。つまりURLはクラスレベルの設計よりも上位の設計であると捉えています。

例えばREST系のWebAPIを作成する時にとりあえずJavaのコードは実装しておいて、後でゆっくりURLを考えることもできるということです。この時に各コントローラのアノテーションを変更してまわったり、メソッドを移動するリファクタリングをする必要はありません。こういうレベルの分業も促進できれば良いと考えています。下記のような雰囲気でこのマッピングを記述します。ここの情報を利用してリクエストされた情報とのパターンマッチングをします。

コントローラ

コントローラはリクエストごとに生成する形式にしました。これは、このコントローラのインスタンス自体をrequest.setAttribute("context", this)のような形で登録して、コントローラのgetterをJSPから利用することができるような手軽さが大事だと考えているからです。自分が良く関わるプロジェクトは、少人数で小規模なものが多いので、多くのBeanを作成するのは避けたいです。当然上述のgetterからBeanを返しても良いでしょう。

それと、URL側のプレースホルダとメソッドを繋げる為の、メソッドに対するアノテーションは、パターン側の引数のラベルを@Methodに記述する形式です。引数の変数にアノテーションを付けるポリシーもありえますが、メソッド定義がゴテゴテしてくるので不採用としました。

JavaScriptでのサービス

JavaScript側の通信クラスを書く際に、コントローラクラスのインターフェースと似たものになるケースは多いと思います。restrant-jでは自動的にこの通信クラスをスタブとして作成する機能を最近入れました。通信をするJavaScriptが一箇所に集まりますし、両者を一致させるコストが削減できることでしょう。

おしまいに

GAE/JやAWS ElasticBeanstalk上で動かしていたものを手直しして使っています。ソコソコちゃんと動くつもりです。

コントローラの引数がObjectになるケースは未対応です。JSONライブラリと依存が発生するのがちょっと今は微妙にも思えます。構想はあるので近いうちに実現したいですね。

もしも困ったことがあれば@ms2satoまで話しかけてみてください。

posted by ms2 at 01:36 | Comment(0) | TrackBack(0) | プログラミング関係 | このブログの読者になる | 更新情報をチェックする
2011年06月17日

サービスから送るメールがスパム扱いされないために。

はじめに

ある仕事で他人が面倒見ていたサーバの保守運用的な仕事を引き受けた。そこにはバーチャルドメインで多数のサービスが稼動していて、自分が今まで扱ったサーバでは込み入った方だと思う。サービスの数が多いだけで、難易度は高くない。

ただ、恐らく前任者の考えはコスト削減に走りすぎていて、セキュリティやバックアップ等に不安のある状態だった。修正できるものは修正して、提案できるものは提案するのが今後のタスクになるはず。とは言えコスト超過は困るので相談しつつ進めねばならない。

そんな中、以前インドへ外注して作らせたと言う、あるWEBサービスのメール機能について依頼されて弄ったので記しておく。

状況

  • Postfix利用。
  • WEBのシステムに情報を入力すると応答の為ユーザへメールが飛ぶ良くある形。
  • 応答のメールはFROMが別の任意のドメインのユーザ名で記述される。
  • 送信したメールが迷惑メール扱いされることが多い。以前別のサーバ環境では完全にスパム登録されたこともある、(悪い)実績のあるシステム。
  • メールの文字が化けることがソコソコな頻度である。
  • /etc/postfix/virtual_domain_mapになにやら手を加えて動かしている。

状況が良くわからないだろうが、ザックリ書けば、メールちゃんとした形式で届かないってことだ。

経過

あまりに長くなる前段があるのだが、割愛。mb_send_mailで文字化けしないメールが送信できるようになったとしよう。それまでは自前でプロトコルから実装していたようだが、利用するのをやめた。

本来はサービスが提供されているドメインからメールの返信をしてやりたいのだが、今の自分の知識では少し難しいようだと分かった。と言うのも、当該サーバにはPostfixのデーモンは一つで、smtpサーバの設定で$myhostnameは固定で一つ持つことになるだろうからだ。細かいことは後で調べるとして、まず迷惑メール扱いされてしまう原因を調べてみた。

またこのブログのお世話になる。本当にいつもお世話になっている。作者に多謝。
http://d.hatena.ne.jp/rx7/20100319/p1
EC2向けに書かれているが、厳しい環境でモノにしている方が頼れる気もする。

参考になりそうなのは下記の内容だろうか。

  1. DNSの逆引き
  2. SPF

DNSの逆引きができるようにしてやると良いそうなので、nslookupでチェックする。

$ nslookup xxx.com
Server:         xxx.xxx.xxx.xxx
Address:        xxx.xxx.xxx.xxx#53

Non-authoritative answer:
Name:   xxx.com
Address: xxx.yyy.zzz.xxx

xxx.comのIPアドレスはxxx.yyy.zzz.xxx。今度は逆にxxx.yyy.zzz.xxxを引いてみる。

$ nslookup xxx.yyy.zzz.xxx
Server:         xxx.xxx.xxx.xxx
Address:        xxx.xxx.xxx.xxx#53

Non-authoritative answer:
xxx.xxx.xxx.xxx.xxx    name = xxx.com.

Authoritative answers can be found from:
…以下略

ちゃんとxxx.comが返ってきた。

SPFに関してはFROMのアドレスが別の任意のアドレスになる為に仕掛けることができない。とすると今できるのはここまでか。

試しにGmailやHotmailに送っても、迷惑メールフィルタにはかからない。調子に乗ってYahooでも試みたところ、迷惑メール扱いされてしまった。まだ何か足らないのかもしれない。

http://www.gabacho-net.jp/whims/whim0156.html
を見ると、どうやら自分は逆引きの意味を勘違いしていたようだ。HELOやEHLOの応答からIPを逆引きしたものが一致するのかを見なければならないらしい。smtpサーバが名乗っている名前と、DNSから引いた名前が一致するのかを調査するのだから、当たり前と言えば当たり前なことだった。

nslookupにはmxレコードについて確認するオプションがあるので、これをやってみることにした。
http://www.atmarkit.co.jp/fwin2k/win2ktips/370nslookupmx/nslookupmx.html
「-type=mx」を付けるらしい。

$ nslookup -type=mx xxx.com
Server:         xxx.xxx.xxx.xxx
Address:        xxx.xxx.xxx.xxx#53

Non-authoritative answer:
xxx.com     mail exchanger = 10 mx.xxx.com.

Authoritative answers can be found from:

なにやらおかしい。mx.xxx.comという名前は見たことが無い。Postfixの設定では$myhostname=smtp.xxx.comと書いていたはずだ。どういうことだろう。単純にサーバの移転の際に変更忘れたのか、そもそもそのままだったのか…。とにかく$myhostname=mx.xxx.comと修正してPostfixをリロード。

telnetで接続した時の応答も、mx.xxx.comになったようであるし、全てが統一された模様。

$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mx.xxx.com ESMTP Postfix

改めてYahooメールに送信してみたところ、見事受信できた。

おしまいに

複数のメール送信元をうまく切り替える方法があれば、是非知りたい。一つのデーモンで複数の$myhostnameを指定できたり送信時に入れたりできないものだろうか。

posted by ms2 at 00:46 | Comment(0) | TrackBack(0) | 運用・管理 | このブログの読者になる | 更新情報をチェックする
2011年06月11日

Safari5の履歴に残らない問題

はじめに

お付き合いのある人に「ちょっと調査の依頼をしたいから最低一日で時間をくれないか?」との話があり、一日くらいならどうにかなるかと行ってきた。

問題

以前から運用を行っているサイトだそうで、最近のSafariでのみの問題のようだ。

  1. ブラウザで戻るボタンを押した際に望んだページ(直前のページ)に戻れない
  2. WindowsのIE等では発生しない。MacのSafariのみ発生。
  3. 以前のSafari(少なくともVer3)では発生しなかった。
  4. JavaScriptで遷移しているところをHTMLでの遷移に書き直したら動作した実績あり。

調査

まず、比較検証のためにMacのローカルでHTMLを適当に書いた。「何も小細工しない時の本当の動作はどうなっているのか」を確認することがこういう際の近道だと思うからだ。よく「最低限度の問題発生コードを作れ」というようなことが言われるが、それにも近い。

基本的にこのシステムはリンクで遷移を行わず、form(GETの場合もあればPOSTの場合もある)で遷移を行っている。aタグがある場合にも、onClickでform.submit()を呼ぶスタイルのようだ。以下3種類のサンプルを用意した。

  1. formのGETで次のページへ飛ぶ
  2. formのPOSTで次のページへ飛ぶ
  3. JavaScriptでformのsubmit()を呼んで次のページへ飛ぶ

上記の三つを試すと、3は既に前のページへ戻れなかった。ブラウザの履歴に次のページのURLが残っておらず、戻ることができない。一瞬これが全ての元凶かと喜んだ。

だが、問題はこれだけでは無いようだ。前のページでJavaScriptを利用していない場合にも戻れないケースが発生している。何度も同じ動きを繰り返しながら動きを探ってみた。

ちなみにこのシステムはセッションの扱いがかなり厳格であるため、少しでもシステムのルールに反する動作をさせるとセッションタイムアウトまで操作することができない(その場合、DBを弄って解消する)ため、何度も繰り返すのも結構コストがかかったりする。自分が長期的に保守しようと思うなら、何らかのデバッグモードの適用やテスト環境構築等、開発環境の改善を提案すると思われる。

どうやら「ある特定のページ」が戻れない(履歴に残らない)のではなく、ランダムに現象が起こるように感じられる。最初は理解に苦しんだが、一つの仮説に辿り着いた。このシステムは業務ごとにコントローラが分かれており、同じ業務は同じコントローラへデータを送信する。そしてコントローラのURLは全て同一である。同一のURLであるためにブラウザ側が混同しているのではないか、と考えた。IE等はPOSTの中身も判断して別のURLであると決定しているのかもしれない。

実際にformのactionのURLにダミーのリクエスト引数をつけて送信すると、常に別のURLとして認識されるようだ。

また、IEは戻る際にキャッシュに残ったデータを通信を介さずに表示するようだが、Safariはリクエストを送信して表示しているらしいことを別の人が確認してくれた。詳しくは書かないがこれも先の厳格なセッション管理と相性が悪かった。

解決

今回の問題は以下の二点の問題が複合して起きている。

  1. JavaScriptでform.submit()で送ったリクエストが履歴に反映されない
  2. form.actionに指定したURLが同一であると、同じページだと判断されてしまう。

1の問題はform.submit()を呼ばない修正をすれば良い。formにダミーのボタンをつけてそのclick()を呼ぶようにしてやれば解決する。

2の問題は既に試したようにダミーのリクエスト引数をつけることで解決する。

おしまいに

そういうわけで一日で解決することができて良かった。他にも細かいことをやっつけて今回の現場とおさらば。これ程短い滞在時間は類を見ないかもしれない。10時過ぎに到着、19時前に撤収。

posted by ms2 at 12:10 | Comment(0) | TrackBack(0) | プログラミング関係 | このブログの読者になる | 更新情報をチェックする
2011年06月10日

AWSで試した記録

はじめに

暫くAWSやBeanstalkやらを取り上げているが、もう少し試行錯誤したことも記しておく。

JPA利用でGoogleAppEngineとBeanstalk両刀の環境

SimpleDBはSimpleJPAがあり、GAEはJPA対応している為、殆ど同じコードが両者で動かせるのではないかと考えて試行。結果的に動くコードはできた。但しトランザクションに対応することができなかったので、対象のアプリケーションを選ぶ。

キーはString限定(SimpleJPA仕様)で、自動算出ができなかった。ただ、SimpleJPAはキーの自動算出にUDDIクラスを利用しているだけなので、同様のユーティリティを書いて対応。GAE側のキーもGAEのKeyと関係を持たない算出キーを入れることになる。

GAEからS3を呼び出す

上記がとりあえずできたので調子に乗って試してみたが、実現できなかった。

まず起きたのがAWSのjarの「SHA1 digest error」。これはdigest情報を削除で対応。
http://groups.google.com/group/google-appengine-java/browse_thread/thread/72113438a6c46c5d

次に下記が発生して、標準のSDK経由では難しいようだと断念。元々REST通信なのだから独自で書けばいけるのだろうが、そこまでコストをかけるモチベーションが無い。

Exception in thread "Timeout guard" java.lang.NoClassDefFoundError: javax.net.ssl.SSLSocketFactory is a restricted class. Please see the Google  App Engine developer's guide for more details.

これが実現できれば、一番課金されるEC2インスタンスを利用せずにとりあえず環境を動かすことができる。必要になったら同じデータを参照するElasticBeanstalkを立ち上げれば良い。実際にひとまずGAEで作成してデモ環境を作っておいたら、思わぬところで声がかかったケースがある。こういうやり方でシステムだけ泳がせることをもっとしたい。

おしまいに

大体書き尽くした感がある。ここまでやる頃にはだいぶ手に馴染んできたように感じた。

posted by ms2 at 00:17 | Comment(0) | TrackBack(0) | プログラミング関係 | このブログの読者になる | 更新情報をチェックする
2011年06月02日

企画の研ぎ澄まし

はじめに

今日とあるMTGの帰りに一緒に仕事をしている会社のボスと話をしていたのだが、この話がとても相手に響いたようなので改めて記しておく。

微妙な問題と研ぎ澄ましについて

微妙な問題の原因は?

企画を起こした際の内容が製造に落ちるまでに何か曲がってしまうことがある。企画者が実際の製造者と一致しない場合には企画を読む人の感覚で解釈されるからだ。概ね合っているようなのに、何か食い違ってしまう。

企画が製造に落ちるまでには中で「段取り(?)」と呼ぶようなフェーズが必要では無いかと思っている。企画者の意図を研ぎ澄ましてその目的と必要最低限の機能レベルまで絞り込む。企画を一緒に進めたり、製造フェーズを請ける際に、この段取り(?)を行う。この時はある種の「質問攻め」状態が発生するが、これをやることで企画者自身も気づいていない(だから明文化できていない)意図も明確化でき、最終的にファーストリリースの姿が明確になると考えている。

研ぎ澄まし

研ぎ澄ましによって、企画内容に実現難しい機能があった際にも代案を出しやすくなると考えられる。「どうしても外せないことが何か」を把握できているからだ。

IT系で言うマネージャーの仕事とも取れないし、本来は企画者の仕事のように見受けられる。だが、斬新な企画を出す人間はこの段取りの能力には長けていないケースが多いのでは無いかと経験上感じるので、別の人間であることが望ましいのではなかろうか。

この作業は理想を現実に落としこむ際の狭間の作業なので、企画を理解しながら製造の工程に落とし込むという狭間の作業と思える。個人的にはこういったある種器用さを必要とされる狭間の作業には自信があるので、結果的にうまいことやれていると思う。

今回はその会社自身のある種の弱点の指摘にもなって、それができる人材を雇う、もしくは誰かが成長するよう促す等のある種のアクションが必要では無いか、という分析の共有になった。その会社にとっては自分の存在が不要になる方へ動く方があるべき姿のはずなので、ある種の自己矛盾をはらんだ提案ではある。だが「悩みサポーター」的には本懐だと思う。

肩書きにコンサルを付けた方が?という話も聞くのだが、コンサルという名称には思うところがあるので今のところ付けていない。

おしまいに

「やれていますよ」という言葉がたとえ嘘でもとても嬉しかったこともあり、書いておきたかった。ようするに自慢話だ。

posted by ms2 at 23:16 | Comment(0) | TrackBack(0) | しごと | このブログの読者になる | 更新情報をチェックする
2011年06月01日

mod_proxyを利用していないのにCONNECT成功のログ?

はじめに

当たり前っぽいことなのに、解決に妙に苦労したのでログを残しておく。解決できないとサーバ管理者の精神衛生上非常に宜しくない問題。

現象

logwatchで下記のようなログが検出される。

Connection attempts using mod_proxy:
   xxx.xxx.xxx.xxx -> xxx.xxx.xxx.xxx:xx: 1 Time(s)

access.logは下記のようになっている。

xxx.xxx.xxx.xxx - - [31/May/2011:20:50:18 +0900] "CONNECT xxx.xxx.xxx.xxx:xx HTTP/1.1" 200 6981 "-" "-"

mod_proxy経由のコネクションで、通常405を返していれば問題ないとされるようだ。しかし、当該システムではmod_proxyを利用しておらず、しかも200を返している。踏み台にされるのかと嫌な汗が出る。しかし、設定上やはりmod_proxyが動作するはずがない。デーモンの再起動をしていないわけでもない。

原因

http://www.aconus.com/~oyaji/bbs/wforum.cgi?mode=allread&pastlog=0007&no=4599&page=20&act=past
経由で
http://tomocha.net/docs/irc/denied_access.html
に辿り着く。記事の最後の方まで読むと、どうやらApacheの仕様(?)らしい。ドキュメントルートに動的ページが存在するとこれが起こるそうな。

解決

IPアドレス直でアクセスされた場合に、静的なコンテンツを提供する別のバーチャルホストへ飛ばすようにした。しばし様子を見ることにする。

おしまいに

よくある問題に思うのだが、なかなか解決方法へ辿り着くことができなかった。レアケースなのか?何はともあれ踏み台にされているわけでは無いようなので一安心。

posted by ms2 at 08:23 | Comment(0) | TrackBack(0) | 運用・管理 | このブログの読者になる | 更新情報をチェックする
gaAddons (Stephane Hamel) / CC BY-NC-ND 3.0