このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。

翻訳前ページへ


一時期/支部 15. HyperSQL 網状組織 Listeners (Servers)

一時期/支部 15. HyperSQL 網状組織 Listeners (Servers)

Server, WebServer, and Servlet

Fred Toussi

The HSQL 開発 Group

$Revision: 6692 $

Copyright 2002-2024 Fred Toussi. 許可 is 認めるd to 分配する this 文書 without any alteration under the 条件 of the HSQLDB license. 付加 許可 is 認めるd to the HSQL 開発 Group to 分配する this 文書 with or without alterations under the 条件 of the HSQLDB license.

2024-10-25

(米)棚上げする/(英)提議する of Contents

Listeners
HyperSQL Server
HyperSQL HTTP Server
HyperSQL HTTP Servlet
Server and Web Server 所有物/資産/財産s
Starting a Server from your 使用/適用
Shutting 負かす/撃墜する a Server from your 使用/適用
許すing a 関係 to Open or Create a Database
明示するing Database 所有物/資産/財産s at Server Start
TLS Encryption
必要物/必要条件s
Encrypting your JDBC 関係
Making a 私的な-重要な Keystore
(a)自動的な/(n)自動拳銃 Server or WebServer startup on UNIX
網状組織 接近 支配(する)/統制する

Listeners

As 述べるd in the Running and Using HyperSQL 一時期/支部, 網状組織 listeners (servers) 供給する connectivity to catalogs from different JVM 過程s. The HyperSQL listeners support both ipv4 and ipv6 網状組織 演説(する)/住所ing.

HyperSQL Server

This is the preferred way of running a database server and the fastest one. This 方式 uses the proprietary hsql: communications 議定書. The に引き続いて example of the 命令(する) for starting the server starts the server with one (default) database with とじ込み/提出するs 指名するd "mydb.*" and the public 指名する (偽名,通称) of "xdb". 公式文書,認める the database 所有物/資産/財産 to 始める,決める the 処理/取引 方式 to MVCC is appended to the database とじ込み/提出する path.

 java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --database.0 とじ込み/提出する:mydb;hsqldb.tx=mvcc --dbname.0 xdb

Alternatively, a server.所有物/資産/財産s とじ込み/提出する can be used for passing the arguments to the server. This とじ込み/提出する must be 位置を示すd in the directory where the 命令(する) is 問題/発行するd.

 java -cp ../lib/hsqldb.jar org.hsqldb.server.Server

Alternatively, you can 明示する the path of the server.所有物/資産/財産s とじ込み/提出する on the 命令(する) line. In this 事例/患者, the 所有物/資産/財産s とじ込み/提出する can have any 指名する or 拡張, but it should be a valid 所有物/資産/財産s とじ込み/提出する.

 java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --支え(る)s myserver.支え(る)s

Use the --help argument to see the 名簿(に載せる)/表(にあげる) of 利用できる arguments.

 java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --help

The contents of the server.所有物/資産/財産s とじ込み/提出する is 述べるd in the next section.

HyperSQL HTTP Server

This method of 接近 is used when the computer hosting the database server is 制限するd to the HTTP 議定書. The only 推論する/理由 for using this method of 接近 is 制限s 課すd by firewalls on the (弁護士の)依頼人 or server machines and it should not be used where there are no such 制限s. The HyperSQL HTTP Server is a special web server that 許すs JDBC (弁護士の)依頼人s to connect 経由で HTTP. The server can also 行為/法令/行動する as a small general-目的 web server for static pages.

To run an HTTP server, 取って代わる the main class for the server in the example 命令(する) line above with the に引き続いて:

 java -cp ../lib/hsqldb.jar org.hsqldb.server.WebServer

The contents of the server.所有物/資産/財産s とじ込み/提出する is 述べるd in the next section.

HyperSQL HTTP Servlet

This method of 接近 also uses the HTTP 議定書. It is used when a separate servlet engine (or 使用/適用 server) such as Tomcat or Resin 供給するs 接近 to the database. The Servlet 方式 cannot be started 独立して from the servlet engine. The Servlet class, in the HSQLDB jar, should be 任命する/導入するd on the 使用/適用 server to 供給する the 関係. The database is 明示するd using an 使用/適用 server 所有物/資産/財産. 言及する to the source とじ込み/提出する src/org/hsqldb/server/Servlet.java to see the 詳細(に述べる)s.

Both HTTP Server and Servlet 方式s can only be 接近d using the JDBC driver at the (弁護士の)依頼人 end. They do not 供給する a web 前線 end to the database. The Servlet 方式 can serve only a 選び出す/独身 database.

Please 公式文書,認める that you do not 普通は use this 方式 if you are using the database engine in an 使用/適用 server. In this 状況/情勢, 関係s to a catalog are usually made in-過程, or using an 外部の HSQL Server instance.

Server and Web Server 所有物/資産/財産s

所有物/資産/財産s とじ込み/提出するs for running the servers are not created automatically. You should create your own とじ込み/提出するs that 含む/封じ込める server.所有物/資産/財産=value pairs for each 所有物/資産/財産. The server.所有物/資産/財産s or webserver.所有物/資産/財産s とじ込み/提出するs must be 位置を示すd in the directory where the 命令(する) to run the org.hsqldb.server.Server class is 問題/発行するd.

In all 所有物/資産/財産s とじ込み/提出するs, values are 事例/患者-極度の慎重さを要する. All values apart from 指名するs of とじ込み/提出するs or pages are 要求するd in lowercase (e.g. server.silent=FALSE will have no 影響, but server.silent=誤った will work). Supported 所有物/資産/財産s and their default values (if any) are as follows:

(米)棚上げする/(英)提議する 15.1. ありふれた server and webserver 所有物/資産/財産s

ValueDefaultDescription
server.database.0とじ込み/提出する:実験(する)the catalog type, path and とじ込み/提出する 指名する of the first database とじ込み/提出する to use
server.dbname.0""lowercase server 偽名,通称 for the first database とじ込み/提出する
server.database.nNO DEFAULTthe catalog type, path and とじ込み/提出する 指名する of the n'th database とじ込み/提出する in use
server.dbname.nNO DEFAULTlowercase server 偽名,通称 for the n'th database とじ込み/提出する
server.silenttrueno 広範囲にわたる messages 陳列する,発揮するd on console
server.trace誤ったJDBC trace messages 陳列する,発揮するd on console
server.演説(する)/住所NO DEFAULTIP 演説(する)/住所 of server
server.tls誤ったWhether to encrypt 網状組織 stream. If this is 始める,決める to true, then in normal 状況/情勢s you will also need to 始める,決める 所有物/資産/財産s system.javax.逮捕する.ssl.keyStore and system.javax.逮捕する.ssl.keyStorePassword, as 文書d どこかよそで. The value of server.tls 衝撃s the default value of server.port.
server.daemon誤ったWhether the server is run as a daemon
server.remote_open誤った許すs 開始 a database path remotely when the first 関係 is made

In HyperSQL 見解/翻訳/版 2.0, each server can serve an 制限のない number of databases 同時に. The server.database.0 所有物/資産/財産 defines the filename / path 反して the server.dbname.0 defines the lowercase 偽名,通称 used by (弁護士の)依頼人s to connect to that database. The digit 0 is incremented for the second database and so on. Values for the server.database.n 所有物/資産/財産 can use the mem:, とじ込み/提出する: or res: prefixes and 関係 所有物/資産/財産s as discussed under CONNECTIONS. For example,

 database.0=mem:temp;sql.enforce_strict_size=true;

所有物/資産/財産s or default values 明確な/細部 to server.所有物/資産/財産s are:

(米)棚上げする/(英)提議する 15.2. server 所有物/資産/財産s

ValueDefaultDescription
server.port9001 (normal) or 554 (if TLS encrypted)TCP/IP port used for talking to (弁護士の)依頼人s. All databases are served on the same port.
server.no_system_exittrueno System.出口() call when the database is の近くにd

所有物/資産/財産s or default values 明確な/細部 to webserver.所有物/資産/財産s are:

(米)棚上げする/(英)提議する 15.3. webserver 所有物/資産/財産s

ValueDefaultDescription
server.port80 (normal) or 443 (if TLS encrypted)TCP/IP port used for talking to (弁護士の)依頼人s
server.default_page索引.htmlthe default web page for server
server.root./the 場所 of served pages
.<拡張>NO DEFAULT多重の 入ること/参加(者)s such as .html=text/html define the mime types of the static とじ込み/提出するs served by the web server. See the source for src/org/hsqldb/server/WebServer.java for a 名簿(に載せる)/表(にあげる).

An example of the contents of a server.所有物/資産/財産s とじ込み/提出する is given below:

 server.database.0=とじ込み/提出する:/選ぶ/db/accounts
 server.dbname.0=accounts

 server.database.1=とじ込み/提出する:/選ぶ/db/mydb
 server.dbname.1=enrolments

 server.database.2=mem:adatabase
 server.dbname.2=quickdb

In the above example, the server.所有物/資産/財産s とじ込み/提出する 示すs that the server 供給するs 接近 to 3 different databases. Two of the databases are とじ込み/提出する based, while the third is all in memory. The 偽名,通称s for the databases that the 使用者s connect to are accounts, enrolments and quickdb.

All the above 所有物/資産/財産s and their values can be 明示するd on the 命令(する) line to start the server by omitting the server. prefix. If a 所有物/資産/財産/value pair is 明示するd on the 命令(する) line, it 無視/無効s the 所有物/資産/財産 value 明示するd in the server.所有物/資産/財産s or webserver.所有物/資産/財産s とじ込み/提出する.

[Note]公式文書,認める

昇格ing: If you have 存在するing custom 所有物/資産/財産s とじ込み/提出するs, change the values to the new 指名するing 条約. 公式文書,認める the use of digits at the end of server.database.n and server.dbname.n 所有物/資産/財産s.

Starting a Server from your 使用/適用

If you want to start the server from within your 使用/適用, as …に反対するd to the 命令(する) line or (製品,工事材料の)一回分 とじ込み/提出するs, you should create an instance of Server or Web Server, then 割り当てる the 所有物/資産/財産s and start the Server. An working example of this can be 設立する in the org.hsqldb.実験(する).TestBase source. The example below 始める,決めるs the same 所有物/資産/財産s as in the server.所有物/資産/財産s とじ込み/提出する example.

 HsqlProperties p = new HsqlProperties();
 p.setProperty("server.database.0","とじ込み/提出する:/選ぶ/db/accounts");
 p.setProperty("server.dbname.0","an_alias");
 // 始める,決める up the 残り/休憩(する) of 所有物/資産/財産s

 // 代案/選択肢 to the above is
 Server server = new Server();
 server.setProperties(p);
 server.setLogWriter(null); // can use custom writer
 server.setErrWriter(null); // can use custom writer
 server.start();

Shutting 負かす/撃墜する a Server from your 使用/適用

To shut 負かす/撃墜する the server, you can 遂行する/発効させる the SQL "SHUTDOWN" 声明 on the server databases. When you start the server from your 使用/適用 and keep a 言及/関連 to the Java Server 反対する, you can also shut it 負かす/撃墜する programatically. Calling the shutdownCatalogs(int shutdownMode) method of org.hsqldb.server.Server の近くにs all the open databases, which results in server shutdown. The parameter value is 普通は 1, which 示すs normal shutdown. Other 方式s of shutdown, such as SHUTDOWN IMMEDIATELY are also supported. See the javadoc for org.hsqldb.server.Server. See the example below:

 server.shutdownCatalogs(1);

The Server 反対する has several 代案/選択肢 methods for setting databases and their public 指名するs. The server should be shutdown using the shutdown() method.

許すing a 関係 to Open or Create a Database

If the server.remote_open 所有物/資産/財産 is true, the Server 作品 異なって from the normal 方式. In this 方式, it is not necessary to have any databases 名簿(に載せる)/表(にあげる)d as server.database.0 etc. in the Server startup 所有物/資産/財産s. If there are databases 名簿(に載せる)/表(にあげる)d, they are opened as normal. The server does not shutdown when the last database is の近くにd.

In this 方式, a 関係 can be 設立するd to a database that is not open or does not 存在する. The server will open the database or create it, then return a 関係 to the database.

The 関係 URL must 含む the path to the database, separated with a semicolon from the 偽名,通称. In the example below, the database path 明示するd as とじ込み/提出する:C:/とじ込み/提出するs/mydatabase is opened and the database 偽名,通称 xdb is 割り当てるd to the database. After this, the next 関係 to the 明示するd 偽名,通称 will connect to the same database. Any database path on the URL is ignored if the 偽名,通称 is serving a database.

The database path can point to a とじ込み/提出する: or mem: database.

If you use database 所有物/資産/財産s on the URL, these 所有物/資産/財産s are used when the new database is created. If no database 所有物/資産/財産s are used on the URL, you can also 明示する the path with filepath=<path>. Examples below:

関係 c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb;とじ込み/提出する:C:/とじ込み/提出するs/mydatabase", "SA", "");
関係 c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb;mem:実験(する);sql.enforce_types=true", "SA", "");
関係 c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb;filepath=とじ込み/提出する:C:/とじ込み/提出するs/mydatabase", "SA", "");

明示するing Database 所有物/資産/財産s at Server Start

Each database started by a Server has its own URL. When new databases are created by the server, the database 所有物/資産/財産s for each of the new database can be appended to the database URL. Examples below:

// example in server.propertie とじ込み/提出する
 server.database.0=とじ込み/提出する:/選ぶ/db/accounts;hsqldb.default_table_type=(武器などの)隠匿場所d;sql.enforce_names=true
 server.dbname.0=accounts

// example for setting the 所有物/資産/財産 programatically
 HsqlProperties p = new HsqlProperties();
 p.setProperty("server.database.0","とじ込み/提出する:/選ぶ/db/accounts;hsqldb.default_table_type=(武器などの)隠匿場所d;sql.enforce_names=true");

The 明示するd 所有物/資産/財産s 適用する only to a new database. They have no 影響 on an 存在するing database apart from a few 所有物/資産/財産s such as readonly 名簿(に載せる)/表(にあげる)d in the 所有物/資産/財産s 一時期/支部.

TLS Encryption

Listener TLS Support (a. k. a. SSL)

Blaine Simpson

The HSQL 開発 Group

$Revision: 6692 $

2024-10-25

This section explains how to encrypt the stream between JDBC 網状組織 (弁護士の)依頼人s and HyperSQL Listeners. If you are running an in-過程 (非,不,無-Listener) 体制/機構, this 一時期/支部 does not 適用する to you.

必要物/必要条件s

Hsqldb TLS Support 必要物/必要条件s

  • Java 4 and greater 見解/翻訳/版s support JSSE.

  • A JKS keystore 含む/封じ込めるing a 私的な 重要な, ーするために run a Listener.

  • If you are running the listener 味方する, then you'll need to run a HSQLDB Server or WebServer Listener instance. It doesn't 事柄 if the underlying database catalogs are new, and it doesn't 事柄 if you are making a new Listener configuration or encrypting an 存在するing Listener configuration. (You can turn encryption on and off at will).

  • You need a HSQLDB jar とじ込み/提出する that was built with JSSE 現在の. If you 得るd your HSQLDB 配当 from us, you are all 始める,決める, because we build with Java 1.4 or later (which 含む/封じ込めるs JSSE).

Encrypting your JDBC 関係

At this time, only 1-way, server-cert encryption is 実験(する)d.

(弁護士の)依頼人-味方する

Just use one of the に引き続いて 議定書 prefixes.

Hsqldb TLS URL Prefixes

  • jdbc:hsqldb:hsqls://

  • jdbc:hsqldb:https://

The latter will only work for (弁護士の)依頼人s running with Java 1.4 or later.

If the listener you wish to connect to is using a 証明書 認可するd by your default 信用 keystore, then there is nothing else to do. If not, then you need to tell Java to "信用" the server cert. (It's a slight over-simplification to say that if the server 証明書 was 購入(する)d, then you are all 始める,決める; if somebody "調印するd their own" 証明書 by self-調印 or using a 私的な ca 証明書, then you need to 始める,決める up 信用).

First, you need to 得る the cert (only the "public" part of it). Since this cert is passed to all (弁護士の)依頼人s, you could 得る it by 令状ing a Java (弁護士の)依頼人 that 捨てるs it to とじ込み/提出する, or perhaps by using openssl s_client. Since in most 事例/患者s, if you want to 信用 a 非,不,無-商業の cert, you probably have 接近 to the server keystore, I'll show an example of how to get what you need from the server-味方する JKS keystore.

You may already have an X509 cert for your server. If you have a server keystore, then you can 生成する a X509 cert like this.

Example 15.1. 輸出(する)ing 証明書 from the server's keystore

 keytool -輸出(する) -keystore server.蓄える/店 -偽名,通称 existing_alias -とじ込み/提出する server.cer


In this example, server.cer is the X509 証明書 that you need for the next step.

Now, you need to 追加する this cert to one of the system 信用 keystores or to a keystore of your own. See the Customizing 蓄える/店s section in JSSERefGuide.html to see where your system 信用 keystores are. You can put 私的な keystores anywhere you want to. The に引き続いて 命令(する) will 追加する the cert to an 存在するing keystore, or create a new keystore if (弁護士の)依頼人.蓄える/店 doesn't 存在する.

Example 15.2. 追加するing a 証明書 to the (弁護士の)依頼人 keystore

 keytool -輸入する -trustcacerts -keystore 信用.蓄える/店 -偽名,通称 new_alias -とじ込み/提出する server.cer

If you are making a new keystore, you probably want to start with a copy of your system default keystore which you can find somewhere under your JAVA_HOME directory (typically jre/lib/安全/cacerts for a JDK, but I forget 正確に/まさに where it is for a JRE).

Unless your OS can't stop other people from 令状ing to your とじ込み/提出するs, you probably do not want to 始める,決める a password on the 信用 keystore.

If you 追加するd the cert to a system 信用 蓄える/店, then you are finished. さもなければ you will need to 明示する your custom 信用 keystore to your (弁護士の)依頼人 program. The generic way to 始める,決める the 信用 keystore is to 始める,決める the system 所有物/資産/財産 javax.逮捕する.ssl.trustStore every time that you run your (弁護士の)依頼人 program. For example

Example 15.3. 明示するing your own 信用 蓄える/店 to a JDBC (弁護士の)依頼人

 java -Djavax.逮捕する.ssl.trustStore=/home/blaine/信用.蓄える/店 -jar /path/to/hsqldb.jar dest-urlid


This example runs the program SqlTool. SqlTool has built-in TLS support however, so, for SqlTool you can 始める,決める truststore on a per-urlid basis in the SqlTool configuration とじ込み/提出する.

公式文書,認める: The hostname in your database URL must match the ありふれた 指名する of the server's 証明書 正確に/まさに. That means that if a 場所/位置 証明書 is admc.com, you cannot use jdbc:hsqldb:hsqls://localhost or jdbc:hsqldb:hsqls://www.admc.com:1100 to connect to it.

If you want more 詳細(に述べる)s on anything, see JSSERefGuide.html on Sun's 場所/位置, or in the subdirectory docs/guide/安全/jsse of your Java SE docs.

Server-味方する (Listener-味方する)

Get yourself a JKS keystore 含む/封じ込めるing a 私的な 重要な. Then 始める,決める 所有物/資産/財産s server.tls, system.javax.逮捕する.ssl.keyStore and system.javax.逮捕する.ssl.keyStorePassword in your server.所有物/資産/財産s or webserver.所有物/資産/財産s とじ込み/提出する. 始める,決める server.tls to true, system.javax.逮捕する.ssl.keyStore to the path of the 私的な 重要な JKS keystore, and system.javax.逮捕する.ssl.keyStorePassword to the password (of both the keystore and the 私的な 重要な 記録,記録的な/記録する-- they must be the same). If you 明示する 親族 とじ込み/提出する path values, they will be 解決するd 親族 to the ${使用者.dir} when the JRE is started.

[Caution]警告を与える

If you 始める,決める any password in a .所有物/資産/財産s (or any other) とじ込み/提出する, you need to 制限する 接近 to the とじ込み/提出する. On a good operating system, you can do this like so:

 chmod 600 path/to/server.所有物/資産/財産s

The values and 行為 of the system.* settings above match the usage 文書d for javax.逮捕する.ssl.keyStorePassword and javax.逮捕する.ssl.keyStore in the JSSE docs.

[Note]公式文書,認める

Before 見解/翻訳/版 2.0, HyperSQL depended on 直接/まっすぐに setting the corresponding JSSE 所有物/資産/財産s. The new idiom is more 安全な・保証する and easier to manage. If you have an old password in a UNIX init script config とじ込み/提出する, you should 除去する it.

Making a 私的な-重要な Keystore

There are two main ways to do this. Either you can use a 証明書 調印するd by a 証明書 当局, or you can make your own. One thing that you need to know in both 事例/患者s is, the ありふれた 指名する of the cert has to be the exact hostname that JDBC (弁護士の)依頼人s will use in their database URL.

CA-調印するd Cert

I'm not going to tell you how to get a CA-調印するd SSL 証明書. That is 井戸/弁護士席 文書d at many other places.

Assuming that you have a 基準 pem-style 私的な 重要な 証明書, here's how you can use openssl and the program DERImport to get it into a JKS keystore.

Because I have spent a lot of time on this 文書 already, I am just giving you an example.

Example 15.4. Getting a pem-style 私的な 重要な into a JKS keystore

 openssl pkcs8 -topk8 -outform DER -in Xpvk.pem -知らせる PEM -out Xpvk.pk8 -nocrypt

 openssl x509 -in Xcert.pem -out Xcert.der -outform DER

 java DERImport new.keystore NEWALIAS Xpvk.pk8 Xcert.der

[Important]Important

Make sure to 始める,決める the password of the 重要な 正確に/まさに the same as the password for the keystore!

You need the program DERImport.class of course. Do some internet searches to find DERImport.java or DERImport.class and download it.

If DERImport has become difficult to 得る, I can 令状 a program to do the same thing-- just let me know.

非,不,無-CA-調印するd Cert

Run man keytool or see the Creating a Keystore section of JSSERefGuide.html.

(a)自動的な/(n)自動拳銃 Server or WebServer startup on UNIX

If you are on UNIX and want to automatically start and stop a Server or WebServer running with encryption, 始める,決める the system.javax.逮捕する.ssl.keyStore and system.javax.逮捕する.ssl.keyStorePassword 所有物/資産/財産s as 教えるd above, and follow the 指示/教授/教育s in the HyperSQL on UNIX 一時期/支部, 支払う/賃金ing の近くに attention to the TLS-関係のある comments in the template config とじ込み/提出する.

If you are using a 私的な server 証明書, make sure to also 始める,決める the 信用 蓄える/店 filepath for 関連した urlids in your RC とじ込み/提出する, as explained in the 見本 config とじ込み/提出する.

網状組織 接近 支配(する)/統制する

(Server ACLs)

JDBC 関係s will always be 否定するd if the 供給(する)d 使用者 and password are not 設立する in the 的 catalog. But an HyperSQL listener can also 制限する 接近 at the listener level, even 保護するing 私的な catalogs which have insecure (or default) passwords. If you have an in-過程 体制/機構, this section of the Guide doesn't 適用する to you.

Many (in fact, most) 分配するd database 使用/適用s don't have 使用/適用 (弁護士の)依頼人s connect 直接/まっすぐに to the database, but instead encapsulate 接近 in a controlling 過程. For example, a web app will usually 接近 the data source on に代わって of 使用者s, with end-使用者 web browsers never 接近ing the database 直接/まっすぐに. In these 事例/患者s and others, the 安全 利益s of 制限するing listener 接近 to 明確な/細部 source 演説(する)/住所s is 井戸/弁護士席 価値(がある) the 成果/努力. ACLs work by 制限するing 接近 によれば the source 演説(する)/住所 of the 後継の 関係 request. This is efficient because the database engine never even gets the request until it is 認可するd by the ACL filter code.

The 見本 とじ込み/提出する 見本/acl.txt in your HyperSQL 配当 explains how to 令状 an ACL とじ込み/提出する.

# $Id: acl.txt 536 2008-12-05 14:55:10Z unsaved $

# 見本 HyperSQL 網状組織 Listener ACL とじ込み/提出する.
# 明示する "許す" and "否定する" 支配するs
# For 演説(する)/住所 specifications, individual 演説(する)/住所s, host 指名するs, and
# 網状組織 演説(する)/住所s with /bit suffix are 許すd, but read the caveat about
# host 指名するs below, under the 見本 "localhost" 支配する.

# Blank lines ignored.
   # Lines with # as the first 非,不,無-whitespace character are ignored.


許す 2001:db8::/32
# 許す this 32-bit ipv4 subnet

許す localhost
# You should use 数値/数字による 演説(する)/住所s in ACL とじ込み/提出するs, unless you are 確かな  that
# the 指名する will always be known to your 網状組織 演説(する)/住所 決意/決議 system
# (assume that you will lose Internet connectivity at some time).
# With a default 指名する 決意/決議 体制/機構 on UNIX, you are 安全な to use 指名するs
# defined in your /etc/hosts とじ込み/提出する.

否定する 192.168.101.253
# 否定する a 選び出す/独身 IP 演説(する)/住所.
# In our example, 192.168.101.0/24 is our 地元の, 組織の 網状組織.
# 192.168.101.253 is the IP 演説(する)/住所 of our 抑留する's PC.
# The 抑留する does not have 許可 to 接近 our databases 直接/まっすぐに.

許す 192.168.101.0/24

# Any ipv4 or ipv6 候補者 演説(する)/住所 not matched above will be 否定するd

You put your とじ込み/提出する wherever it is convenient for you, and 明示する that path with the 所有物/資産/財産 server.acl or webserver.acl in your server.所有物/資産/財産s or webserver.所有物/資産/財産s とじ込み/提出する (depending on whether your listener instance is a Server or WebServer). You can 明示する the ACL とじ込み/提出する path with an 絶対の or 親族 path. If you use a 親族 path, it must be 親族 to the .所有物/資産/財産s とじ込み/提出する. It's often convenient to 指名する the ACL とじ込み/提出する acl.txt, in the same directory as your .所有物/資産/財産s とじ込み/提出する and 明示する the 所有物/資産/財産 value as just acl.txt. This とじ込み/提出する 指名する is intuitive, and things will continue to work as 推定する/予想するd if you move or copy the entire directory.

[Warning]警告

If your Server or WebServer was started with a *.acl 所有物/資産/財産, changes afterwards to the ACL とじ込み/提出する will be 選ぶd up すぐに by your listener instance. You are advised to use the 手続き below to 妨げる 部分的な/不平等な edits or mistakes from 手足を不自由にする/(物事を)損なうing your running server.

When you edit your ACL とじ込み/提出する, it is both more convenient and more 安全な・保証する to 実験(する) it as explained here before 活動させる/戦時編成するing it. You could, of course, 実験(する) an ACL とじ込み/提出する by editing it in-place, then trying to connect to your listener with JDBC (弁護士の)依頼人s from さまざまな source 演説(する)/住所s. Besides 存在 mightily laborious and boring, with this method it is very 平易な to accidentally open 接近 to all source 演説(する)/住所s or to 否定する 接近 to all 使用者s until you 直す/買収する,八百長をする incorrect ACL 入ること/参加(者)s.

The 示唆するd method of creating or changing ACLs is to work with an inactive とじ込み/提出する (for new ACL とじ込み/提出するs, just don't enable the *.acl 所有物/資産/財産 yet; for changing an 存在するing とじ込み/提出する, just copy it to a 一時的な とじ込み/提出する and edit the 一時的な とじ込み/提出する). Then use the ServerAcl class to 実験(する) it.

Example 15.5. 実証するing and 実験(する)ing an ACL とじ込み/提出する

 java -cp path/to/hsqldb.jar org.hsqldb.server.ServerAcl path/to/acl.txt


If the 明示するd ACL とじ込み/提出する fails validation, you will be given 詳細(に述べる)s about the problem. さもなければ, the 実証するd 支配するs will be 陳列する,発揮するd (含むing the implicit, default 否定する 支配するs). You then type in host 指名するs and 演説(する)/住所s, one-per-line. Each 指名する or 演説(する)/住所 is 実験(する)d as if it were a HyperSQL 網状組織 (弁護士の)依頼人 演説(する)/住所, using the same exact method that the HyperSQL listener will use. (HyperSQL listeners use this same ServerAcl class to 実験(する) 後継の source 演説(する)/住所s). ServerAcl will 報告(する)/憶測 the 支配する which matches and whether 接近 is 否定するd or 許すd to that 演説(する)/住所.

If you have edited a copy of an 存在するing ACL とじ込み/提出する (as 示唆するd above), then overwrite your live ACL とじ込み/提出する with your new, 実証するd ACL とじ込み/提出する. I.e., copy your temp とじ込み/提出する over 最高の,を越す of your live ACL とじ込み/提出する.

ServerAcl can be run in the same exact way 述べるd above, to troubleshoot runtime 接近 問題/発行するs. If you use an ACL とじ込み/提出する and a 使用者 or 使用/適用 can't get a 関係 to the database, you can run ServerAcl to quickly and definitively find if the (弁護士の)依頼人 is 存在 禁じるd by an ACL 支配する.


$Revision: 6787 $