2月 2017年

Node.js + Express で HTTP から HTTPS へ 自動リダイレクト させる方法

Node.js + Exprss で HTTPSサーバー 構築した際、http でアクセスしてきた通信を https 強制リダイレクトさせる方法を考えました。 といっても難しいことはせずできるだけ単純な実装にしています。 自動リダイレクト の サンプルコード var express = require("express"); var fs = require("fs"); var http = require("http"); var https = require("https"); var app = express(); var options = { pfx: fs.readFileSync("./private/localhost.pfx"), passphrase: "Passw0rd" }; app.get("/", function ...

Node.js + Express で HTTPS サーバー を 作る

Node.js + Express の環境で HTTPS 通信できるようにする方法を整理しました。 あまり複雑な要素は含めずできるだけシンプルなサンプルコードを掲載します。 目次 HTTPS サーバー 構築 HTTP と HTTPS を共存させた サーバー構築 [おまけ] 自己署名証明書の作成 HTTPS サーバー 構築 Windows の IIS で自己署名入り証明書 をエクスポートすると PKCS#12 の証明書 (拡張子 pfx のファイル) になっているので、 今回は pfx を指定してHTTPSサーバーを構築してみます。 IIS で 自己署名入り証明書 を作成、エクスポートする方法は以下の「自己署名証明書の作成」を参照してください。 var express = req ...

IIS に 登録した 署名済みサーバー証明書 を バックアップ / リストア する方法

Windowsサーバー で稼働中のWebアプリケーションを別の Windowsサーバー へ移す場合、証明書も移す必要があります。 ここでは証明書をバックアップして復元する手順をまとめます。 目次 署名済みサーバー証明書のバックアップ 署名済みサーバー証明書のリストア ファイル形式について 署名済みサーバー証明書のバックアップ 以下に載せる手順で行うバックアップでは「署名済み公開鍵」と「秘密鍵」の両方を含んだファイルを出力できます。 IIS の管理コンソール を開く 「サーバー証明書」をダブルクリックして開く バックアップしたい「署名済みサーバー証明書」を選択 操作にある「エクス ...

公開鍵基盤 (PKI) 構築 に関する まとめ

最近の Webサービス の流れとして HTTPS対応 が当たり前になってきたので、SSL/TLS化 を考えようと思ったのですが… 公開鍵関連はよく分からなくなるので、概要だけを本記事まとめました。 この記事では 公開鍵基盤 において環境構築に関する全体像をざっくりとつかみます。 その上で、具体的な手順は個別に関連記事へのリンクを掲載しているのでそちらを参照すると理解しやすくなっていると思います。 目次 証明書ファイル形式 CA構築 と ルート証明書登録 サーバー証明書要求作成 と 署名 証明書ファイル形式 証明書ファイルは「 [規格] × [エンコード] 」の組み合わせで決まるようです。 以下に載せる拡張子は「エンコード形式」ベースで記載しているので、中身(規格)については考慮し ...

Node.js + Express で ASP.NET ライクな ルーティング を行う ミドルウェア

Node.js + Express で Webアプリケーション開発 を行うとき困ったのがルーティング。 そこで ASP.NET MVC のような実装ができる Express 向け ミドルウェア "express-junction" を作成しました。 目次 概要 インストール 使い方 ディレクトリ、ファイル /app.js /controllers/home.js /views/home/index.ejs リンク GitHub: garafu/express-junction npm: express-junctio ...

Node.js + Express で WebAPI を作る

Node.js + Express で WebAPI を作成してみます。 最近だと モバイルアプリ や SPA (Single Page Appliction) などで利用されるような機能を実装するイメージです。 あまり難しいことはせず、単純な GET と POST の例でまとめました。 目次 概要 実装 テスト 概要 画面を返さず JSON を返却する WebAPI を作成してみます。 今回は 単純な GET と POST を行うサンプルです。 具体的なパスは以下のようなものを作る予定です。 GET: /api/user/:id POST: /api/user 上記の POST URLにリクエストしたときの動きのイメージは以下のようなものです。 実装 今 ...

ESLint ルール 一覧 (日本語)

ESLint ルール を一通り日本語訳して一覧化してみました。 記載はできるだけ「デフォルトがどのような状態か」という内容で記載しています。 なお、最新情報および詳細情報は ESLint - Rules を参照してください。 目次 エラーになりやすい ベストプラクティス strictモード 変数 Node.js と CommonJS 表記法 ECMAScript 6 エラーになりやすい no-cond-assign 条件処理内で代入を行わないこと no-console console の使用をしないこと no-constant-condition ...

Node.js + Express + passport で 認証認可 の 仕組み を 作る

Node.js + Express + Passport + MongoDB を利用したユーザー認証 および アクセス制御 の実装を行ってみます。 今回は3画面作成するので、少し前置き(全体像)から入っていきます。 目次 概要 フロー 画面一覧 画面遷移 機能一覧 プロジェクト準備 フォルダ構成 初期化 パッケージ追加 データベース作成 スキーマ データ作成 Webアプリケー ...