Windows

Version 21.0.8222


Windows


The Windows version of ArcESB includes a stand-alone embedded web server and can also be hosted in IIS.このセクションでは、Windows でアプリケーションをホストするさまざまなオプションについて説明します。

IIS を触った経験がない場合は、組み込みサーバーを使うことを推奨します。The embedded server is automatically deployed at installation and provides a simple interface for server-level administration tasks such as configuring logging, running the application as a service, and enabling SSL/TLS.

組み込みサーバーでのホスティング

This section shows how to configure the stand-alone, embedded Web server, including how to host SSL/TLS connections and configure the Cloud Gateway, a reverse SSH tunnel.

スタンドアロンサーバーにホストされている場合、アプリケーションはWindows サービスとして実行されます。

  1. Right-click the Arc icon in the taskbar and click Server Options.
  2. [Windows サービスとして実行]を選択します。
  3. 変更を保存します。

Host SSL/TLS Connections (Embedded Server)

プレーンテキストでのサービスのほかに、TLS を要求することができます。This section shows how to host SSL/TLS connections in the stand-alone server included with the Windows edition of the application.To deploy SSL/TLS for the Java edition, refer to the documentation for the Java servlet you are using to host the application.

  1. Windows システムトレイのアプリケーションのアイコンを右クリックして、[サーバーオプション]をクリックします。
  2. [Web サーバー]タブで、[TLS を有効化]を選択し、TLS を扱うポートを選択します。
  3. [TLS サーバー証明書]ボックスの隣のボタンをクリックし、秘密鍵証明書を選択します。秘密鍵付き証明書は、ローカルコンピュータの証明書ストアにインストールする必要があります。もし、条件を満たす証明書がない場合には、[新しい証明書の作成]をクリックして、シンプルな証明書を作成してください。

Server Dialog

変更を保存すると、サーバーが再起動し、TLS リクエストの処理が開始されます。

Manage Personal Certificates

証明書選択ダイアログで使用可能な証明書を管理したい場合には、ローカルコンピュータの秘密証明書ストアにあります。Windows ストアに証明書を追加するには:

  1. [実行]メニューから、[mmc]を入力してMicrosoft 管理コンソールを立ち上げます。
  2. [ファイル]->[スナップインの追加と削除]をクリックします。
  3. [利用可能なスナップイン]テーブルから[証明書]を選択し[追加]をクリックします。

    Add Snap-In

  4. [コンピューターアカウント]->[ローカルコンピューター]を選択します。
  5. スナップインを追加したら、[証明書(ローカルコンピューター)]->[個人]->[証明書]をクリックして、利用可能な証明書を表示します。秘密キーが利用可能な証明書には、証明書アイコンの上に鍵のアイコンが表示されます。
  6. ローカルディスクからストアに証明書をインポートするには、[アクション]->[すべてのタスク]->[インポート]をクリックします。インポートウィザードを完了すると、証明書はアプリケーションの証明書選択ダイアログにて利用可能となります。

Cloud Gateway

The Cloud Gateway feature of Arc provides a simple way to expose the application to the Internet without the need for firewall changes.As long as a publicly accessible SSH server is available, Arc may be accessed via a port on the publicly accessible SSH server by leveraging an SSH Reverse Tunnel.

この機能を活用するには、システムトレイのアプリケーションアイコンを右クリックし、[サーバーオプション]をクリックします。下図で示されるように[Cloud Gateway]タブに進み、次の情報を入力します。

Cloud Gateway

  • Host indicates the SSH server that Arc connects to.
  • Port は、SSH ホストが接続をリッスンしているポートを示します。ほとんどのSSH サーバーは、デフォルト値のポート22でリッスンします。
  • Authentication Type は、使用する認証のタイプを示します。PasswordPublic KeyMulti-Factor、および_Keyboard Interactive_ がサポートされています。
  • User indicates the username Arc uses to authenticate to the SSH server.
  • Password は、使用されているAuthentication Type で必要な場合、認証に使用するパスワードを示します。
  • Certificate indicates the certificate Arc uses to authenticate to the SSH server during Public Key Authentication.
  • Server Fingerprint は、SSH サーバーのSSH ホストキーフィンガープリントを示します。この値はread-only の情報です。
  • Forwarding Port indicates the port that the publicly available SSH server listens on for connections to forward to Arc.

さらに、SSH サーバーの設定を変更して、ポート開放を許容する必要がある場合があります。デフォルトのSSH サーバー設定では、非ローカルホストアドレスへのポート開放を常に有効にするとは限りません。例えば、OpenSSH サーバーに接続する場合は、SSH サーバーコンフィギュレーションファイルで、GatewayPorts プロパティをyes またはclientspecified に設定する必要があります。

この情報を入力したら、[接続のテスト]をクリックしてSSH サーバーへの接続をテストし、提供された情報の正当性を確認します。If successful, once the application is restarted, Arc is accessible via the Forwarding Port on the SSH host.For example, if the SSH server my.ssh.host was specified, with a Forwarding Port of 8401, entering https://my.ssh.host:8401 in a browser would cause the communication to be forwarded to the local machine where Arc is running, allowing public access despite it not being directly accessible.

Windows Authentication

By default, the embedded web server uses ASP.NET’s forms-based authentication, wherein a username/password combination must be entered into a webform (i.e. a login portal) to grant access to the administration console.Arc also supports Windows/Active Directory authentication to grant application access to specific Windows users or security groups.

To enable Windows authentication, simply open the embedded web server configuration UI (right-click the Arc icon in the system tray and select Server Options) and toggle the Authentication Type field under the ‘Web Server’ tab.

By default, access is granted to the current Windows user managing the web server.To configure the users and groups permitted to access the application, add new users within the Users tab of the Settings page in the application.

Users must be added within the application using DOMAIN\Username syntax.Users must be added individually, as an entire group cannot be granted access to the application at this time.

IIS での設定

これらの説明では、IIS およびWindows の複数のバージョンをカバーします。If you run into difficulties following one of these guides, see the last section, Troubleshooting.If your version is not covered in this tutorial or if you have other questions, contact our support team for further assistance.

IIS 8、8.5、および10

Create a New Web Application

Note: この例では、デフォルトWeb サイトを使用します。

Web サイトでアプリケーションをホストするには:

  1. IIS マネージャーで、[接続]パネルのサーバーのノードを展開します。
  2. サイトノードを展開し、ウェブサイトを右クリックして、[アプリケーションの追加]をクリックします。
  3. [アプリケーションの追加]ダイアログが表示されたら、以下の情報を入力します。
Alias The name for the application; for example, “arcesb”.
アプリケーションプール アプリケーションに関連するアプリケーションプール。このチュートリアルでは、”DefaultAppPool” を使用します。
物理パス アプリケーションがインストールされているディレクトリのwww ディレクトリパス。The default location for this directory is C:\Program Files\ArcESB\www.

Configure Directory Permissions

The application must have full access to the ArcESB application directory for full functionality.

In ArcESB 2020 and earlier, the application directory and the install directory were the same—by default, C:\Program Files\ArcESB\. If you upgraded from a previous version of ArcESB to ArcESB 2021, this is likely still your application directory.

In ArcESB 2021, the application directory was split from the install directory. The install directory is still C:\Program Files\ArcESB\. However, the application directory moved to C:\ProgramData\ARCESB\.

The application directory contains the following folders:

  • connectors
  • data
  • db
  • locks
  • logs
  • schemas
  • workspaces

The install directory contains:

  • Program executables (ArcESB.exe, ArcESB.Engine.Exe) and configuration files
  • the www folder and subfolders
  • the www_services folder and subfolders

To set permissions, locate the application directory for your ArcESB installation and follow these steps:

  1. フォルダを右クリックして、[プロパティ]をクリックします。[セキュリティ]タブで[編集]->[追加]をクリックします。
  2. In the Enter the object names to select box, enter the following, substituting the name of the application pool: IIS AppPool\\[your-application-pool]. For example, IIS AppPool\\DefaultAppPool.
  3. アプリケーションプールアイデンティティが、次の権限を持っていることを確認します:

    • 読み出し
    • 書き込み
    • 変更
    • 読み出し&実行
    • フォルダコンテンツをリスト

Note:アプリケーションプールへのアクセスの許容にはコマンドラインを使うこともできます。例:

icacls "www" /grant "IIS APPPOOL\\DefaultAppPool":(OI)(M)

Configure Server Permissions

If you are using sftpserver or ftpserver, you must ensure that the application pool has the correct permissions set to the root directory that you have configured for that server. If you created the root directory as a child of the application directory path, then setting permissions on the parent application directory and its subfolders should be sufficient.

Prevent Application Processes from Unloading

IIS は、アイドルタイムアウト超過、アプリケーションプールのリソース使用が高すぎる場合など、Web アプリケーションをいくつかの理由でシャットダウンすることがあります。これにより、アプリケーションでバックグラウンドタスクを止めてしまうことがあります。次の設定を変更することで、アプリケーションを常時実行しておくことができます:

  1. オプションのApplication Initialization 機能を有効化します。

    Windows Server 2012 R2 および、Windows Server 2016では、[サーバーマネージャー]を開き、[ダッシュボード]->[クイックスタート]->[役割と機能の追加]をクリックします。[役割と機能の追加]ウィザードが開きます。[サーバーの役割]のステップで、[Web サーバー(IIS)]->[アプリケーション開発]->[Application Initialization]をクリックします。

    Windows 8 およびWindows 10 では、コントロールパネル **を開いて、 **[プログラムと機能]->[Windows の機能の有効化または無効化]をクリックします。[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]->[Application Initialization]をクリックします。

  2. IIS マネージャーで、[接続]パネルの[アプリケーションプール]をクリックします。
  3. ワークスペースで、アプリケーションプールを右クリックし、[詳細設定]をクリックします。
  4. 全般設定の、[開始モード]AlwaysRunning に設定します。

  5. プロセスモデル設定では、[アイドルタイムアウト]0 に設定します。

    If you are using IIS 8, ensure that the Start Automatically property in the General settings is set to True.

  6. CPU セクションでは、LimitInterval プロパティを0 に設定します。
  7. Recycling セクションでは、Regular Time Interval プロパティを0 に設定します。
  8. Recycling セクションのGenerate Recycle Event Log Entry ノードでは、Regular Time Interval プロパティをFalse に設定します。

Configure ASP.NET App Pool Recycling

IIS は定期的にリサイクルし、ASP.NET アプリケーションプールのプロセスをクリーンアップします。リサイクルをオフピーク時にスケジュールすることもできます。[Recycling]セクションに移動してSpecific TimeTrue に設定し、リサイクルする時間をhh:mm:ss 形式で入力します。

Preloading Applications

IIS’s preloading feature improves performance by allowing the application to run prior to a user connecting.To enable this feature, right-click the web application associated with Arc in the Connections pane and select Manage Application > Advanced Settings.In the PreloadEnabled menu, select True.

PreloadEnabled がTrue に設定されている場合、IIS はユーザーリクエストをWeb サイトのデフォルトページ、または仮想ディレクトリにシミュレートして、アプリケーションを初期化します。

Confirm Settings

アプリケーションを開くには、http://localhost/cdata から入れます。If you are getting any errors, see Troubleshooting.

IIS 7 および7.5

Create a New Web Application

Web サイトでアプリケーションをホストするには:

Note: この例では、デフォルトWeb サイトを使用します。

  1. IIS マネージャーで、[接続]パネルのサーバーのノードを展開します。
  2. サイトノードを展開し、ウェブサイトを右クリックして、[アプリケーションの追加]をクリックします。
  3. [アプリケーションの追加]ダイアログが表示されたら、以下の情報を入力します。
Alias The name for the application; for example, “arcesb”.
アプリケーションプール アプリケーションに関連するアプリケーションプール。このチュートリアルでは、”DefaultAppPool” を使用します。
物理パス アプリケーションがインストールされているディレクトリのwww ディレクトリパス。The default location for this directory is C:\Program Files\ArcESB\www.

Configure Permission

See Configure Permissions for IIS 8, 8.5, and 10 above. The information is applicable across IIS versions.

Prevent Application Processes from Unloading

IIS は、アイドルタイムアウト超過、アプリケーションプールのリソース使用が高すぎる場合など、Web アプリケーションをいくつかの理由でシャットダウンすることがあります。これにより、バックグラウンドタスクを止めてしまうことがあります。

このバージョンのIIS はWeb アプリケーションを常時実行しておく設定をサポートしていません。アプリケーションプールが常時実行していて、バックグラウンドタスクが発生できる状態を保つことを保証するためには、繰り返しアプリケーションにHTTP リクエストを発行するスクリプトを設定しなければなりません。

IIS 7.5 では、次の設定を変更することで、アプリケーションを常時実行しておくことができます:

  1. IIS 7.5 のアプリケーション Initialization Extension をインストール。http://www.iis.net/download/ApplicationInitialization からダウンロードすることができます。
  2. IIS マネージャーで、[接続]パネルの[アプリケーションプール]をクリックします。
  3. ワークスペースで、[アプリケーションプール]を右クリックし、[詳細設定]をクリックします。
  4. 全般設定では、[自動的に開始]True に設定されていることを確認してください。
  5. プロセスモデル設定では、[アイドルタイムアウト]0 に設定します。
  6. CPU セクションでは、LimitInterval プロパティを0 に設定します。
  7. Recycling セクションでは、Regular Time Interval プロパティを0 に設定します。
  8. Recycling セクションのGenerate Recycle Event Log Entry ノードでは、Regular Time Interval プロパティをFalse に設定します。
  9. C:\Windows\System32\inetsrv\config\ に位置するApplicationHost.config ファイルのアプリケーションプールエントリーの設定を変更します。適切な エントリに、_startMode="AlwaysRunning"_ と_autoStart="True"_ を追加します。例:
<applicationPools>
<add name="DefaultAppPool" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" autoStart="true"/>
</applicationPools>

Configuring ASP.NET App Pool Recycling

IIS は定期的にリサイクルし、ASP.NET アプリケーションプールのプロセスをクリーンアップします。リサイクルをオフピーク時にスケジュールすることもできます。[Recycling]セクションに移動してSpecific TimeTrue に設定し、リサイクルする時間をhh:mm:ss 形式で入力します。

Preloading Applications

IIS’s preloading feature improves performance by allowing the application to run prior to a user connecting.To enable this feature, edit the ApplicationHost.config file (C:\Windows\System32\inetsrv\config\ApplicationHost.config) and add the preloadEnabled attribute to the <application> element associated with the application.次の例に示すように、アプリケーションノードはサイトノードの子エレメントです。

<sites>
  <site name="Default Web Site" id="1">
  <application path="/arcesb" applicationPool="DefaultAppPool"  preloadEnabled="true">
  ...

PreloadEnabledTrue に設定されている場合、IIS はユーザーリクエストをWeb サイトのデフォルトページ、または仮想ディレクトリにシミュレートして、アプリケーションを初期化します。

Confirm Settings

アプリケーションを開くには、http://localhost/cdata から入れます。If you are getting any errors, see Troubleshooting.

Host SSL/TLS Connections (IIS)

SSL/TLS can be used to protect the confidentiality of your business-critical and mission-critical communications with trading partners.The following steps assume you already have a certificate you can use to enable SSL/TLS on your server.

  1. IIS マネージャーで、[接続]ペインでWeb サイトのノードをクリックします。
  2. [アクション] ペインで[バインディング] をクリックします。
  3. [Add]をクリックし、[HTTPS]を選択します。
  4. サーバー証明書を選択します。
  5. If you want to require SSL/TLS, double-click the SSL/TLS Settings icon in the workspace with your website’s node still selected.Select Require SSL/TLS and click Apply in the Actions pane.

トラブルシューティング

次のセクションは、いくつかの共通して発生するエラーの解決方法を説明します。

ログアウトして、しばらく経つとアプリケーションが応答しなくなる。

IIS が、お客様のアプリケーションのタイムアウト後にアンロードしている可能性があります。デフォルトで、IIS は20分間動きがない場合にアプリケーションにアサインされたワーカープロセスを終了します。IIS のバージョンごとの手順中の”アプリケーションプロセスのアンローディングの防止”セクションで、この機能を回避する方法を説明しています。

IIS 7.5、8、8.5 では、IIS マネージャーで次の設定を変更することで、アプリケーションを常時実行しておくことができます。

7.5 より前のバージョンのIIS はWeb アプリケーションを常時実行しておく設定をサポートしていません。アプリケーションプールが常時実行していて、バックグラウンドタスクが発生できる状態を保つことを保証するためには、繰り返しアプリケーションにHTTP リクエストを発行するスクリプトを設定しなければなりません。

http://localhost/application にアクセスすると、”Page Cannot Be Displayed” エラー(HTTP 404 エラー)が返される。

ASP.NET が有効化されていない場合に、本事象が起こります。ASP.NET が有効になっているかどうかを確認するには、http://localhost/cdata/favicon.ico にアクセスします。このページが正常にロードされた場合は、ASP.NET は有効化されていません。

IIS 7 以上で実行している場合には、コントロールパネル->[プログラム(もしくはプログラムと機能)]->[Windows 機能の有効化または無効化]->[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]を選択します。ASP.NET の隣のチェックボックスにチェックを入れます。

Windows Server 2003 を使っている場合には、IIS マネージャーを開き、ローカルコンピューターノードを展開して、[Web Service Extentions]->[ASP.NET]->[Allow]をクリックします。さらに、次の手順を行う必要があります。

IIS 6 かそれ以前で実行している場合、Windows のコマンドプロンプトを開き、C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 のような.NET Framework version installation に移り、aspnet_regiis -i</b> コマンドを発行します。64-bit プロセッサーを使用している場合には、FrameworkFramework64 に変えてください。アウトプットは以下のようになります:

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727>aspnet\_regiis -i
  Start installing ASP.NET (2.0.50727).
  ...
  Finished installing ASP.NET (2.0.50727).

iisreset コマンドを発行し、IIS を再起動します。アウトプットは以下のようになります:

  C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727>iisreset

  Attempting stop...
  Internet services successfully stopped
  Attempting start...
  Internet services successfully restarted

親レベルでセクションがロックされている。ロックは、デフォルト(overrideModeDefault=”Deny”)、もしくはoverrideMode=”Deny”、やレガシーでallowOverride=”false” ロケーションタグで明示的に設定されているかが原因です。

このエラーはASP.NET がインストールされていない場合に発生します。

IIS 8 and 8.5

まずは、アプリケーションプールで使われているASP.NET CLR のバージョンを確認します。ASP.NET CLR と同じバージョンのASP.NET をインストールしている必要があります。例えば、ASP.NET4.5 はCLR version 4.0 を使用します。CLR バージョンはIIS マネージャーで[接続]パネルのアプリケーションプールをクリックすることで確かめることができます。アプリケーションプールのリストに.NET CLR バージョンが表示されます。

Windows Server 2012では、[サーバーマネージャー]を開き、[ダッシュボード]->[クイックスタート]->[役割と機能の追加]をクリックします。[役割と機能の追加]ウィザードが開きます。[Web サーバー(IIS)]->[Web サーバー]->[アプリケーション開発]をクリックして、ASP.NET の適切なバージョンを選択します。

Windows 8 では、コントロールパネルを開いて、[プログラムと機能]->[Windows の機能の有効化または無効化]をクリックします。[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]をクリックして、ASP.NET の適切なバージョンを選択します。

IIS 7 and 7.5

Windows 7 では、コントロールパネルを開いて、[プログラムと機能]->[Windows の機能の有効化または無効化]をクリックします。[インターネットインフォメーションサービス]->[World Wide Web サービス]->[アプリケーション開発機能]->[ASP.NET]をクリックします。

Windows Server 2008では、[サーバーマネージャー]を開き、[Add Role Serveices]をクリックします。[Web Server]->[Application Development]->[ASP.NET]を選択します。

ユーザー管理

Upon first starting, Arc will prompt for the creation of a user with username/password credentials.After this first user is created, users can be added, deleted, and managed via the Settings page of the application, under the Users tab.

More information about user management and roles can be found in the User Roles section.

Find and Configure the Application Directory

Arc’s Application Directory holds all of the data used by the application: configuration data, application data, logging data, certificates, etc. Typically, the Application Directory defaults to the following location:

C:\ProgramData\ArcESB

The Application Directory can be configured to be a different folder, which is useful in a variety of scenarios:

  • Clustering multiple instances of Arc
  • Using a shared network drive for application data
  • Embed Arc within other systems accessing the same folders

Changing the Application Directory will move the application’s data files but will not move other application resources like .exe’s, .jar’s, etc.

Web.Config

The Application Directory is configured in the Web.Config file within the ‘www’ folder of the Installation Directory.

This file contains a commented-out AppDirectory block that that describes the following appSettings tag.The path to the desired Application Directory should be set as the ‘AppDirectory’ key with appSettings.

The Application Directory can be set to any local or network path for which the application has read and write permissions.

Configure the Application Database

Arc’s Application Database stores several tables of application data, including:

  • Transaction Log (metadata for each transaction processed by the application)
  • Application Log (application-level errors and events)
  • Access Log (requests to the application’s web endpoint)
  • Audit Log (user-made changes to Arc’s configuration)

By default, Arc uses a SQLite database in the Installation Directory as the Application Database, but this can be configured to use an enterprise database like SQL Server, PostgreSQL, or MySQL.

Web.Config

The Application Database is configured in the Web.Config file within the ‘www’ folder of the Installation Directory.

This file contains a commented-out AppDb block that that describes the following connectionStrings tag.The connection string and provider name for the target database should be set within the ‘AppDb’ key.

Login Lockouts

ArcESB will automatically lock out users who enter incorrect passwords too many times in order to prevent brute force attacks.By default, a user who enters 6 incorrect passwords within 5 minutes will be locked out for 30 minutes when the 7th try fails.

These settings can be modified by editing the Web.Config file within the ‘www’ folder of the Installation Directory.There are 3 settings relevant to lockouts:

  • LockoutFailedAttempts - the number of incorrect passwords that will trigger a lockout (set this to 0 to disable lockouts)
  • LockoutMinutes - the duration of the lockout (default 30 minutes)
  • LockoutTimeCheckPeriod - the period after which the number of failed attempts is reset to 0 (default 5 minutes)

Each of these settings can be set under the appSettings tag in the Web.Config file like the following:

<appSettings>
     <add key="LockoutFailedAttempts" value="0"/>
</appSettings>"