ASP.NETの外部公開手順について

ASP.NETのシステム開発が終わり、ローカル環境にも公開して、問題ない場合は、外部公開です。証明書も取得して、httpsでの表示ができるところまでを説明します。サーバは、国内のWindows Serverを提供しているサーバ会社(私の場合は、Xserverを利用)ものを利用していますので、その辺の情報も交えて、作成したAI回答生成システムを例にして、説明をしたいと思います。

環境は、IIS(インターネット インフォメーション サービス) を利用する前提です。

Xserver VPS for Windows Serverでの記載ですが、自分の環境に合わせて読み替えてください。

💻(任意)(事前準備)Xserver VPS for Windows Server プラン購入

  1. 以下のリンクから、Xserver VPS の Windows Server プランにアクセスしてください
    👉 https://vps.xserver.ne.jp
  2. プラン選択(「メモリ 2GB」)、RDS(リモートデスクトップサービス)は、1ライセンスを購入しました。RDS用パスワードは、申し込み時にRDS用のadministratorユーザの登録をしますので、覚えておいてください。
  3. 契約期間・支払い方法を選択し、申し込みを完了します。
  4. 支払い後、数分でVPSが開通し、Xserverアカウントの管理パネルから操作が可能になります。

💻① VPSの初期設定

  1. Xserver VPS 管理画面にログイン(ログイン情報は、開通時に案内メールが送付されます。)
  2. RDS用にサーバのIPアドレスを確認。RDS用ポートは既に開いています。
  3. RDPでログイン(リモートデスクトップ)
    • 管理画面で確認した接続先IP / パスワードを使用
    • Windows PCなら「mstsc」で接続可能。別のものでも可。
  4. Windows Updateが残っているものがありますので、セキュリティ上すべてをUPDATE適用して下さい。

💻② IIS(Webサーバ)のインストール

  1. サーバーマネージャー起動 → 「役割と機能の追加」
  2. Web サーバ(IIS)を選択(「インターネット インフォメーション サービス(IIS)」を有効化)
  3. 追加する機能(重要):
    • ✅ ASP.NET 4.8 または 3.5
    • ✅ .NET Extensibility
    • ✅ ISAPI Extensions / Filters
    • ✅ Web Management Tool

💻③ SQL Server のインストール

  1. SQL Server Express ダウンロード:※EXPRESS以外のバージョンを利用の場合は、その手順にて実施して下さい。
    https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads
  2. SQL Server Management Studio(SSMS)もインストール
  3. SQL Server 構成マネージャーで TCP/IP を有効化
    • SQL Server ネットワークの構成 → SQLEXPRESS のプロトコル を選択
    • 右側で TCP/IP をダブルクリック
    • 「有効」タブ → はい に変更
    • 「IPアドレス」タブをクリック
    • 下の方にある IPAll セクションでTCPポート に 1433 を設定(既にある場合はそのまま)
  4. ポート番号(例:1433)を確認し、FW受信許可設定
    • 手順:コントロールパネル → Windows Defender ファイアウォール → 詳細設定
    • 受信の規則 → 新しいルール → TCP → ポート 1433 → 許可

💻④ SQL Server 認証の有効化(必要に応じて)

  1. SSMSを起動
  2. サーバー名に localhost\SQLEXPRESS を入力(Windows認証)
  3. ログイン後、サーバーを右クリック → プロパティ→「セキュリティ」ページで「SQL Server および Windows 認証モード」を選択→「OK」→SSMSを抜ける
  4. SQL SERVER サービスを再起動(構成マネージャにて)
  5. SSMSに再度ログイン
  6. セキュリティ-ログイン-sa(ユーザ)にて有効化とパスワード(任意)を設定

💻⑤ SQL Server のDB作成

  1. SSMSを起動のままにて
  2. 左の「データベース」右クリック → 新しいデータベース
  3. データベースを作成(例:CustomerMgmt_Dev)
  4. 個々のテーブル作成(テスト用サーバからデータベース、テーブル共、CREATE文を作成してそのままクエリー画面にて実行でも可)

💻⑥ASP.NET アプリの配置

  1. 開発用PC側にてVisual Studio で「発行」→フォルダ出力
  2. RDS経由にて、サーバに発行した資源一式をIIS用フォルダにコピー:例)C:\inetpub\wwwroot\MyApp配下
  3. IISマネージャー起動([Windows]キー →「IISマネージャー(インターネット インフォメーション サービス)」)
  4. IISマネージャーで新規サイト作成(左側の「サイト」→右クリック→「Webサイトの追加」)
    • サイト名:MyApp
    • 物理パス:C:\inetpub\wwwroot\MyApp(例)
    • バインド:[種類]:http及び、https [IPアドレス]]: 未使用の IP アドレスすべて [ポート]:80 及び、443
  5. 物理パスのフォルダにユーザ名: IIS_IUSRS または NETWORK SERVICE に「読み取り」権限が付いているかを確認(エクスプローラー-プロパティ-セキュリティにて)。書き込みが必要な場合(ログ、ファイルアップロード等)は「書き込み」も追加。

💻⑦ PlantUML 画像生成の準備手順(今回のシステム上で利用しているので、任意)

  1. サイトにアクセス(Java用):https://adoptium.net/temurin/releases/
  2. 最新の Temurin 8 または 11 をダウンロード(Windows x64 用 .msi が簡単です)
  3. インストーラーで Java をインストール(標準設定でOK)
  4. java -version がコマンドプロンプトで動作すれば完了
  5. JAVAの公式ページにアクセス:https://plantuml.com/ja/download
  6. 「plantuml.jar」を任意のフォルダに保存(例:C:\Tools\plantuml\plantuml.jar)
  7. webconfigの設定を変更(パス系)

💻⑧ フォルダ配置

  1. 以下のプログラムで利用する5フォルダを作成(書き込み権限にて設定)C:\inetpub\wwwroot\MyApp配下)
    • App_Data
    • GeneratedImages
    • ResultFiles
    • TempPlantUml
    • UploadedFiles

💻⑨ ドメイン設定

  1. Xserver VPS 管理画面にログイン
  2. DNS設定(Aレコードを2つ(http://office-akita.net , https://office-akita.net))でRDSでログインしたグローバルIPに設定
  3. ドメイン確認(コマンド:「nslookup office-akita.net」でIPアドレスに変換されるか確認)

💻⑩ SSL証明書作成及び取得

  1. RDPでログイン(リモートデスクトップ)
  2. IIS マネージャーを起動
  3. 左ペインでサーバー名を選択 →「サーバー証明書」→「証明書要求の作成」
  4. Common Nameに office-akita.net を入力
  5. その他情報(会社名・都道府県など)を入力して .req ファイルを生成
  6. 作成した .req ファイル(CSR)を元に、証明書を取得依頼発行機関は、以下の様なものがあります。個々のサイトから依頼
    • 【無料】SSL For Free(Let’s Encrypt)(要手動更新・短期)
    • 【格安】GMO / お名前.com / バリュードメインなどの RapidSSL
    • 【本格】SECTIGO, DigiCert, GlobalSign など
  7. 発行機関に依頼する場合にメールアドレスのadmin@office-akita.netを有効にする必要があり
  8. 発行後、.crt(証明書)および .ca-bundle(中間証明書)がadminアドレスに届きます

💻⑪ SSL証明書のインストール及びバインド

  1. IIS マネージャーを起動
  2. 左ペインでサーバー名を選択(サイト名ではないです)
  3. 「サーバー証明書」を開く
  4. 右側の「証明書の要求の完了…」をクリック
  5. 届いたサーバ証明書(中間証明書ではない)ファイル(.crt, .cer)を選択
  6. フレンドリ名(ドメイン名が妥当)を入力し、保存
  7. サーバ証明書が IIS に登録される
  8. 中間証明書(CA バンドル)を該当サーバフォルダに展開
  9. 認証局から届いた中間証明書(IntermediateCA.crt 等)を ダブルクリック
  10. 「証明書のインストール」をクリック
  11. ストアの場所は「ローカル コンピューター」を選択
  12. 「証明書をすべて次のストアに配置する」を選択し、中間証明機関(Intermediate Certification Authorities)ストアを指定。
  13. 完了後、IIS を再起動(iisreset コマンド)
  14. IIS マネージャーで対象サイトを選択
  15. 右側の「バインド…」をクリック
  16. https のバインドを追加または編集
  17. 「SSL 証明書」から先ほど登録したサーバ証明書を選択
  18. OK を押して保存

💻⑫ ポートの開放(Xserver VPS固有の設定)

  1. VPS管理画面 → ファイアウォール設定(Xserver側でもポートが閉鎖されているので)
    • ✅ 80(HTTP)
    • ✅ 443(HTTPS)
    • ✅ 1433(SQL)

💻⑬ 動作確認

  1. 外部ブラウザでアクセスhttp://office-akita.net/
  2. エラーが出る場合は
    • イベントビューアー(Applicationログ)を確認

これで公開が完了します。そんな難しくないので、サーバー会社に設定代行するのも一つの方法ですが、自分で作業してもいいのかなとは思います。

Share this content:

コメントを送信

CAPTCHA