ASP.NETの外部公開手順について
ASP.NETのシステム開発が終わり、ローカル環境にも公開して、問題ない場合は、外部公開です。証明書も取得して、httpsでの表示ができるところまでを説明します。サーバは、国内のWindows Serverを提供しているサーバ会社(私の場合は、Xserverを利用)ものを利用していますので、その辺の情報も交えて、作成したAI回答生成システムを例にして、説明をしたいと思います。
環境は、IIS(インターネット インフォメーション サービス) を利用する前提です。
Xserver VPS for Windows Serverでの記載ですが、自分の環境に合わせて読み替えてください。
💻(任意)(事前準備)Xserver VPS for Windows Server プラン購入
- 以下のリンクから、Xserver VPS の Windows Server プランにアクセスしてください:
👉 https://vps.xserver.ne.jp - プラン選択(「メモリ 2GB」)、RDS(リモートデスクトップサービス)は、1ライセンスを購入しました。RDS用パスワードは、申し込み時にRDS用のadministratorユーザの登録をしますので、覚えておいてください。
- 契約期間・支払い方法を選択し、申し込みを完了します。
- 支払い後、数分でVPSが開通し、Xserverアカウントの管理パネルから操作が可能になります。
💻① VPSの初期設定
- Xserver VPS 管理画面にログイン(ログイン情報は、開通時に案内メールが送付されます。)
- RDS用にサーバのIPアドレスを確認。RDS用ポートは既に開いています。
- RDPでログイン(リモートデスクトップ)
- 管理画面で確認した接続先IP / パスワードを使用
- Windows PCなら「mstsc」で接続可能。別のものでも可。
- Windows Updateが残っているものがありますので、セキュリティ上すべてをUPDATE適用して下さい。
💻② IIS(Webサーバ)のインストール
- サーバーマネージャー起動 → 「役割と機能の追加」
- Web サーバ(IIS)を選択(「インターネット インフォメーション サービス(IIS)」を有効化)
- 追加する機能(重要):
- ✅ ASP.NET 4.8 または 3.5
- ✅ .NET Extensibility
- ✅ ISAPI Extensions / Filters
- ✅ Web Management Tool
💻③ SQL Server のインストール
- SQL Server Express ダウンロード:※EXPRESS以外のバージョンを利用の場合は、その手順にて実施して下さい。
https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads - SQL Server Management Studio(SSMS)もインストール
- SQL Server 構成マネージャーで TCP/IP を有効化
- SQL Server ネットワークの構成 → SQLEXPRESS のプロトコル を選択
- 右側で TCP/IP をダブルクリック
- 「有効」タブ → はい に変更
- 「IPアドレス」タブをクリック
- 下の方にある IPAll セクションでTCPポート に 1433 を設定(既にある場合はそのまま)
- ポート番号(例:1433)を確認し、FW受信許可設定
- 手順:コントロールパネル → Windows Defender ファイアウォール → 詳細設定
- 受信の規則 → 新しいルール → TCP → ポート 1433 → 許可
💻④ SQL Server 認証の有効化(必要に応じて)
- SSMSを起動
- サーバー名に localhost\SQLEXPRESS を入力(Windows認証)
- ログイン後、サーバーを右クリック → プロパティ→「セキュリティ」ページで「SQL Server および Windows 認証モード」を選択→「OK」→SSMSを抜ける
- SQL SERVER サービスを再起動(構成マネージャにて)
- SSMSに再度ログイン
- セキュリティ-ログイン-sa(ユーザ)にて有効化とパスワード(任意)を設定
💻⑤ SQL Server のDB作成
- SSMSを起動のままにて
- 左の「データベース」右クリック → 新しいデータベース
- データベースを作成(例:CustomerMgmt_Dev)
- 個々のテーブル作成(テスト用サーバからデータベース、テーブル共、CREATE文を作成してそのままクエリー画面にて実行でも可)
💻⑥ASP.NET アプリの配置
- 開発用PC側にてVisual Studio で「発行」→フォルダ出力
- RDS経由にて、サーバに発行した資源一式をIIS用フォルダにコピー:例)
C:\inetpub\wwwroot\MyApp
配下 - IISマネージャー起動([Windows]キー →「IISマネージャー(インターネット インフォメーション サービス)」)
- IISマネージャーで新規サイト作成(左側の「サイト」→右クリック→「Webサイトの追加」)
- サイト名:
MyApp
- 物理パス:
C:\inetpub\wwwroot\MyApp
(例) - バインド:[種類]:http及び、https [IPアドレス]]: 未使用の IP アドレスすべて [ポート]:80 及び、443
- サイト名:
- 物理パスのフォルダにユーザ名: IIS_IUSRS または NETWORK SERVICE に「読み取り」権限が付いているかを確認(エクスプローラー-プロパティ-セキュリティにて)。書き込みが必要な場合(ログ、ファイルアップロード等)は「書き込み」も追加。
💻⑦ PlantUML 画像生成の準備手順(今回のシステム上で利用しているので、任意)
- サイトにアクセス(Java用):https://adoptium.net/temurin/releases/
- 最新の Temurin 8 または 11 をダウンロード(Windows x64 用 .msi が簡単です)
- インストーラーで Java をインストール(標準設定でOK)
- java -version がコマンドプロンプトで動作すれば完了
- JAVAの公式ページにアクセス:https://plantuml.com/ja/download
- 「plantuml.jar」を任意のフォルダに保存(例:C:\Tools\plantuml\plantuml.jar)
- webconfigの設定を変更(パス系)
💻⑧ フォルダ配置
- 以下のプログラムで利用する5フォルダを作成(書き込み権限にて設定)C:\inetpub\wwwroot\MyApp配下)
- App_Data
- GeneratedImages
- ResultFiles
- TempPlantUml
- UploadedFiles
💻⑨ ドメイン設定
- Xserver VPS 管理画面にログイン
- DNS設定(Aレコードを2つ(http://office-akita.net , https://office-akita.net))でRDSでログインしたグローバルIPに設定
- ドメイン確認(コマンド:「nslookup office-akita.net」でIPアドレスに変換されるか確認)
💻⑩ SSL証明書作成及び取得
- RDPでログイン(リモートデスクトップ)
- IIS マネージャーを起動
- 左ペインでサーバー名を選択 →「サーバー証明書」→「証明書要求の作成」
- Common Nameに office-akita.net を入力
- その他情報(会社名・都道府県など)を入力して .req ファイルを生成
- 作成した .req ファイル(CSR)を元に、証明書を取得依頼。発行機関は、以下の様なものがあります。個々のサイトから依頼
- 【無料】SSL For Free(Let’s Encrypt)(要手動更新・短期)
- 【格安】GMO / お名前.com / バリュードメインなどの RapidSSL
- 【本格】SECTIGO, DigiCert, GlobalSign など
- 発行機関に依頼する場合にメールアドレスのadmin@office-akita.netを有効にする必要があり
- 発行後、.crt(証明書)および .ca-bundle(中間証明書)がadminアドレスに届きます
💻⑪ SSL証明書のインストール及びバインド
- IIS マネージャーを起動
- 左ペインでサーバー名を選択(サイト名ではないです)
- 「サーバー証明書」を開く
- 右側の「証明書の要求の完了…」をクリック
- 届いたサーバ証明書(中間証明書ではない)ファイル(.crt, .cer)を選択
- フレンドリ名(ドメイン名が妥当)を入力し、保存
- サーバ証明書が IIS に登録される
- 中間証明書(CA バンドル)を該当サーバフォルダに展開
- 認証局から届いた中間証明書(IntermediateCA.crt 等)を ダブルクリック
- 「証明書のインストール」をクリック
- ストアの場所は「ローカル コンピューター」を選択
- 「証明書をすべて次のストアに配置する」を選択し、中間証明機関(Intermediate Certification Authorities)ストアを指定。
- 完了後、IIS を再起動(iisreset コマンド)
- IIS マネージャーで対象サイトを選択
- 右側の「バインド…」をクリック
- https のバインドを追加または編集
- 「SSL 証明書」から先ほど登録したサーバ証明書を選択
- OK を押して保存
💻⑫ ポートの開放(Xserver VPS固有の設定)
- VPS管理画面 → ファイアウォール設定(Xserver側でもポートが閉鎖されているので)
- ✅ 80(HTTP)
- ✅ 443(HTTPS)
- ✅ 1433(SQL)
💻⑬ 動作確認
- 外部ブラウザでアクセス:
http://office-akita.net/
- エラーが出る場合は:
- イベントビューアー(Applicationログ)を確認
これで公開が完了します。そんな難しくないので、サーバー会社に設定代行するのも一つの方法ですが、自分で作業してもいいのかなとは思います。
Share this content:
コメントを送信