サンデープログラマーのブログ


<2020年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789



自宅サーバーをIISに切り替える

2020/03/16  
なんだか、もうごちゃごちゃだ。やるべき事が沢山有り過ぎて、手が追い付かない。

そんな弱音を吐いているのには、理由が有る。まず、自宅サーバであること。今までのApacheベースのサーバーからIISベースのサーバーに中身を引っ越したからだ。Microsoft Server 2019 Essentials のインストールは、難なく終わった。Windows10のインストールと酷似している上、ネットで探せば、その設定もたくさん解説が見つかる。パソコン音痴でなければ、問題は無いでしょう。問題は、そこじゃない。

そもそも、ApacheからIISに乗り換えた理由は、セキュリティーを重視したからだ。幸いにして自分の自宅サーバーではないが、同じ構成のサーバーが、ハッキングを受けた。私の個人のサーバーは、すでに十数年も運用しているが、まだ堅牢だ。私の場合、PHPは、プロが作った無料のアプリケーションを使わせてもらっている。その理由の一つは、ミスが怖くて、PHPを自分で書けない。そのプログラムのアレンジとか、短いプログラムは、書くけどね。

ハッキングを受けた時、入り口は、友人が作ったPHPプログラムに問題が有りそうだった。そこがそれ、いろいろ難しいよね。誰だって、ミスはある。「RIP」で弱点を探すと、いくつもの穴が見つかる。そこが穴として使われたと言う証拠はないが、本人はつらい思いをするよね。そこで、少しくらいのミスでも、安全な言語と来れば、ASP.NETを使って構成するのが、良いと判断したからだ。

IISベースのASP.NETで構成するとなれば、プログラムを作らなければならない。ネットで探しても、無料の都合の良いアプリケーションは無い。結局、自分でコーディングしようと決めた。ここまでは、覚悟をしていた訳だ。それに伴う様々な問題も、大方は、簡単にネットで解決策が見つかる。注意点も、もしかしたら過去のサンデープログラマーのブログに書いたかも知れない。改めて挙げれば、自分のパソコンで作ったプログラムをコピーした後、web.configに<identity impersonate="true" userName="ユーザー名" password="パスワード"/>の追加かな。うっかり忘れると、サーバーに叱られる。あとは、参考書に書かれている。

プログラムを書くと言っても、発想が貧困だから、ブログ用のアプリケーションを一つ準備すれば、それの横展開で事が済む。古本で買った「Visual Web Developer 2008 Express Edition.pdf」を教科書にすれば、それですべて事が足りる。さすがにASP.NETは、論理通りに素直に書けるので、PHPで数か月掛かる様な複雑な物でも、数日で書けてしまう。個人で作ると、画面周りの飾りは質素になってしまうが、デザインが野暮なのは、センスが無いと諦めれば、それも悪くは無い。何せ、簡単に作れるのだから。

てな事で、計画したが、大きな問題にぶち当たった。レガシーだ。過去のブログは、PHPで出来ている。Apacheのポートは、80を使っていた。ポートを変えて、参照できるようにするか、諦めるか。さらに、複数のドメインで運用していた。しかも、そればかりか、サブドメインを多用していた。リンクだって、複雑で、簡単には整理が出来ない。早速、IISのサブドメインで躓いた。IISのDNSサーバで、サブドメインは、どうすれば、指定できるのだとね。これが、今抱える大問題だ。

そこに重ねて、HTTPS問題が複雑に絡む。サイトのHTTPS化は、Let's Encrypt を使って、あっけ無いほど簡単に終わった。ドメインを持っていれば、ほとんど自動と言ってよい。Ohayou.jpは出来たが、IISのサイト名に「?」が付くドメインが有る。カーソルを重ねると、「複数のプロトコル」と表示される。何だこれ。ブラウザで開くと、リダイレクトまでは働くが、安全なサイトとしてみなされない。プロトコル回りを調べても、重なりは無さそうだ。多分、そのサイトのページに問題が有りそうだ事は分かった。他所のリンクに問題が有るらしい。でもね、そのページは、僕が作ってないから手が出せない訳。

Webサーバを考えている人のために、説明したい。自宅サーバの進化の過程はこうだ。初めは、Apacheベースで始める。次に、WindowsにApacheを乗せる。これがとても使い易かった。その状態で、IISをポートを変えて追加する。アクセス数が増えて、ライセンス違反が気になったので、Apacheでリバースプロキシを設定して、IISに流す。理論上は、いくら増えても接続数は、増えない。そこに、HTTPS問題だ。この構成では、HTTPSにすることは、出来そうにない。そこで、Microsoft Server 2019 Essentials の導入に踏み切った。パソコンは、古いマザーを使い、CPUは、ドスパラで中古を買い、組み立てた。OSは、試用版を使って始めたが、使っていてもダメよと言われなかったが、諦めてプロダクトキーを買った。それが今の状態だ。

この切り替えが、吉と出るか、凶と出るか、今は、分かりませんね。