投稿者「wt」のアーカイブ

Mac OS 10.6のWebサーバを移転、SSLはどうなった?

Mac OS 10.6のWebサーバを移転、SSLはどうなった?

藤沢事務所からSSL認証付きのWebサーバを七里ガ浜に移動しました。
IPアドレスが変更になって、Mac OS 10.6.8のシステム環境設定の[ネットワーク]でアドレスを手入力して、インターネット接続を確認しました。[共有]でWeb共有している状態はそのままです。...で、繋がらないという問題について語ります。

1.証明書を再発行したり、再設定する必要は無い
RapidSSLの代理店であるエスロジカル社のサポートにお伺いしました。最高のサポートでした。

2.Web共有で使われているApache2のディレクトリ
confファイルは、/etc/apache2にあります。ここにVirtualHostの記述があって「ポート443が旧アドレスになっているのでは?」というのがエスロジカル社から聞いた話でして。あたりです。confファイルは大元が「httpd.conf」でその中でモジュール化が図られている場合が多く、今回は「httpd-vhosts.conf」を見てみましたが443の記述がありません。
どうやら「extra」というディレクトリにインクルードファイルがあるようです。

3.cd extra
ここで「443」という記述が含まれているファイルを探してみたところ、「httpd-ssl.conf」が見つかりました。次のようにします。

4.grep 443 ht*.*
cd extra/
grep 443 *.*
httpd-ssl.conf:# Listen directives: “Listen [::]:443” and “Listen 0.0.0.0:443”
httpd-ssl.conf:Listen 443
httpd-ssl.conf:
httpd-ssl.conf:ServerName ●.●.●.jp:443

5.sudo vi httpd-ssl.conf
これで修正して保存。

6.Webサーバを再起動
Webサーバだけ再起動すれば良いところを、念のためマシンを再起動しました。

これで接続できるようになりました。!!!
エスロジカル社のサポートの方、ありがとうございました。

HTTP/2

HTTP/2について理解をまとめてみました。

□ HTTP/1.1の弱点

通信回線の使い方に無駄が多かった。基本的にHTMLの要素を一つ一つ、リクエストを送信して、レスポンスを受信してからページを構成する、というものだからです。

 

□ HTTP/2

次の4つの特徴を理解したいです。とくにAとBです。

A.多重化(フレームをストリームに乗せて送る)

B.平行リクエスト数(リクエストを同時にいくつも送れる)

C.ヘッダ圧縮

D.優先度制御

 

□ 2015年5月

タイミングとして機が熟した理由

1)SPDYプロトコルによる実験 Google

2)バンド幅が拡大

3)モバイルはRTT(Round trip time)が大きい

4)HTTPSへ移行して、接続確立に要する処理が重い

 

□ まとめ...

要するに、

これまでURLごとにサーバまで送っていた方法を、一度クライアントでURLという荷物をまとめて、途切れの無い大きな「かたまり状態」にして送る、サーバはそれらの荷物をひもといてリクエストに応答させて、そのレスポンスをまた「かたまり状態」にまとめて送る方法を使えるようにした、ということ。

現在ではHTTP/1.1の利用を前提とすると、通信回線が空いているために、送る前と後にローカルでCPUによって細工を施した方が全体としてページの表示が速くなる、というお話です。一つのパケットを大きくして、同時に送れる数を増やす。一方でパケットの中身に工夫して、リクエストをばらばらにしてもまた集める方法を用意した、ついでにヘッダを圧縮したり、重み付けができる要したり、と小細工を入れて、さらなる高速化を図っている。

ファイルを圧縮して送って回答した方が全体として速い、ということと似ていると思いました。大きな違いは、ブラウザとWebサーバソフトが勝手に実行する、ところです。

 

参考資料:WEWB+DB Press Vol.89 速習HTTP/2 奥一穂氏

 

VectorScriptでデスクトップにテキストファイルを作成

VectorScriptでデスクトップにテキストファイルを作成するスクリプトを作りました。

MacOS X 10.10とWindows7のどちらでも動きます。

{ 関数:Jiro_DesktopPath }
{ 機能:デスクトップのパスを取得する }
{ User App Data 12 }
function Jiro_DesktopPath: string;
const
kDesktopKeyword_Mac = ‘Library’; { ユーザデスクトップパスを得るためのキー }
kDesktopKeyword_Win7 = ‘AppData’; { ユーザデスクトップパスを得るためのキー }
kDelimiter_Mac = ‘:’; { 区切り文字 }
kDelimiter_Win = ‘\’; { 区切り文字 }
var
path: string;
keyword_in_path: string;
delimiter: string;
index: LONGINT;
strLen: LONGINT;
appMajor, appMinor, appMaint, platform :INTEGER;
BEGIN
{ ユーザデータのフォルダを取得、このオプションにはユーザ名が入っている }
path := GetFolderPath( 12 ); { Mac: Library, Win7- : App Data 12 }
strLen:= Len( path );

{ Mac or Win }
GetVersion(appMajor, appMinor, appMaint, platform);
IF (platform = 1) then begin
{ Mac }
keyword_in_path := kDesktopKeyword_Mac;
delimiter := kDelimiter_Mac
end else begin
{ Win }
keyword_in_path := kDesktopKeyword_Win7;
delimiter := kDelimiter_Win
end;

{ キー以降を削除 }
index := Pos( keyword_in_path, path );
IF ( index > 0 ) THEN BEGIN

{ 見つかったらそのあとを削除 }
Delete( path, index, strLen-index+1 );
path := concat( path, ‘Desktop’, delimiter );
END;

Jiro_DesktopPath := path;
END; { Jiro_DesktopPath }