生産用途.

この部分は,GeoNetworkを設置して生産に利用するための指導を共有している.

データベース.データベース

GeoNetworkは文書に基づくH 2データベースを提供する.生産では、Postgres、Oracle、SQL Serverのような外部データベースシステムに切り替えることを確認してください。設定データベースに関するより多くの情報を読んで、アクセスしてください データベースの構成

JNDIはGeoNetworkがデータベース配置をTomcatに依頼することを許す技術である.JNDIを用いることにより、アプリケーションフォルダ内のプロファイルを変更することなく、データベースを容易に構成することができる。

GeoNetworkはデータベース接続を枯渇させる可能性があり,特に1つのディレクトリに多くのコンバインが設置されている場合である.許可された接続数を増やすことができます(データベースが許可されていれば)。しかし,GeoNetworkが接続が枯渇しているかどうかを評価するための定期的なモニタリングを構築することも考えられる.接続が不足していれば,ディレクトリはランダム誤りを投げ出す.

Javaコンテナ

GeoNetworkはJava 8が必要です。Oracle JREバージョン8はもうすぐ生産停止になりますので、使用をお勧めします。 openJDK それがそうです。

GeoNetworkはJettyというデフォルトコンテナを提供する.Jettyは機能的に強力な最小容器で実現されている。オプションをもっと構成する必要がある場合は、Tomcatの使用を検討してください。他の容器を利用することはできますが、ユーザー体験はあまりありません。もっと読む WARファイルを使用したインストール

ApacheをTomcatの前に実行する場合は、有効にしてください AJP そうでなければ、ログイン時にページにエラーが見つからない可能性があります。Apache 2では、有効化 mod_proxy_ajp そして…。 ProxyPass そして ProxyPassReverse Apache 2.confでTomcat URLおよびポート8009にAJPプロトコルを使用します。

ProxyPass /geonetwork ajp://gn_tomcat_host:8009/geonetwork
ProxyPassReverse /geonetwork ajp://gn_tomcat_host:8009/geonetwork

Tomcat 9上で、server.xml内のポート8009上に1つのAJPコネクタを定義する。

生産使用における一般的な課題の1つは、Javaが限られたネイティブ信頼のルート証明書のセットしかないことです。GeoNetworkがJavaから信頼されない証明書を持つセキュリティサーバへのアクセスを試みると問題となる.管理者は明確に示さなければなりません load the certificate in to the Java keystore それがそうです。

データフォルダ.

GeoNetworkには,管理者や管理者がアップロードしたオブジェクトや構成オプションを格納するデータフォルダが必要である.デフォルトの場合、このフォルダは /geonetwork/WEB-INF/data それがそうです。生産環境では,アプリケーション外部にそのフォルダの位置を配置し,そのフォルダをバックアップすることを確保する.環境変数を使用して、データフォルダの位置を構成することができます。もっと読む カスタムデータディレクトリ

記憶する.

GeoNetworkはメモリ集約型アプリケーションである.少なくとも2 GBを提供することを考慮しているが、4 GBの方が良いかもしれない。でも6 GBを超えないでください。Javaアプリケーションのメモリに関するより多くの情報を読みますので、アクセスしてください geoserver documentation それがそうです。Elastic Searchのインスタンスを設定している場合、Elasticに少なくとも8 GBのスペースを提供することを考慮してください。

垢がつく.

GeoNetworkは現在,負荷バランス/フェイルオーバ配置における課題に直面している.検索インデックスはメモリに格納されており,他のノードにおけるレコードの変更は分からない.この点を最適化する1つの選択は,主人-しもべモデルを導入することであり,修正は主人で行われ,奴隷収穫主人は一定時間ごとに修正される.すべての奴隷は地元のデータベースを持っている。データベースに格納された典型的な態様(例えば、グループ、設定、ユーザフィードバック、および検索統計)は、ノード間で同期しないであろう。データフォルダは,ネットワーク共有を用いてノード間で共有することができる.

地理的ネットワークとDockerは

Dockerは一般的なホストサービス仮想化技術である.Dockerの約束は他の雲環境でも使用できる。GeoNetworkコミュニティとして私たちは docker image on docker hub それがそうです。バージョンごとにリモートPostgresデータベースを使用したPostgresタグがありますDockerのベストプラクティスは,拡張ドック機器や編成から注入された環境変数を用いてGeoNetworkをパラメータ化することである.

Webエージェント.

GeoNetworkは1つのWebエージェントを含み,ブラウザのブラウザ間通信制限をバイパスすることができる.このエージェントは、例えば、:

  • 地図ビューア/GetCapability文書検索

  • 地図ビューア/WFSレイヤのロード

  • 地図ビューア/WMS GetFeatureInfo

  • レコードATOMフィードリソースの表示/一覧

  • リンクがhttpエラーに戻った場合、エディタ/警告

  • CSW検索照会可能フィールドを管理/収集/取得する機能

  • 管理者/シソーラス/INSPIREレジストリからの追加

最良の方法は、データサービスを含むことが知られている一連のサーバをホワイトリストに入れることである。しかし、ここで最も良い指導は、任意のデータプロバイダが有効にすることを提案することです。 CORS 彼らのサービスでは,Webエージェントを無効にする.CORSはブラウザ間通信制限を適切な方法で修復した.

不正確に設定すると,リモートユーザがアクセスすべきでない資源にアクセスしたり,Webを閲覧する際に自分をGeonnetworkサーバになりすましたりする可能性がある.

GeoNetworkには,エージェントによるアクセスを制限する2つのパターンがある.このパターンの構成は中で定義されている WEB-INF/web.xml それがそうです。

<init-param>
  <param-name>securityMode</param-name>
  <param-value>NONE</param-value>
</init-param>
  • なし:(Dis)セキュリティ構成によっていくつかのドメイン(3.10.3前のデフォルト値)を可能にする

  • DB_LINK_CHECK(3.10.3からデフォルト)

DB_LINK_CHECKモードを使用することをお勧めします。以下の規則を適用する.

  • 認証されたユーザは,すべてのドメインのエージェントを使用することができる.

  • 匿名ユーザに対しては,要求されたURLの宿主をどのメタデータ記録リンクにも使用していなければ,NotalloweExceptionを返す.WMS URLが登録されていれば,すべてのGetCapability,GetFeatureInfoを受け取る.これがホストチェックのみを実行する理由である.

  • また,直接エージェントに要求を出すと,セッションが存在しないためSecurityExceptionが返される.これは,その使用を録音セッションを持つユーザに制限する.

  • ディレクトリ査読者は,メタデータリンク解析ツールを用いてエージェントが許可するリンクを登録しなければならない.このツールは“記録とリンク分析”で見つけることができます Admin > Statistics & status メニューです。将来的には,最新のリンクリストを獲得するためにバックグラウンドタスクとしてリンク解析をトリガする可能性がある.現在、テーブルが空である場合、例外は、リストをリンク解析ツールを使用して充填すべきであることを強調する。

匿名ユーザが遭遇する可能性のある問題の1つは、地図ビューアが使用され、ユーザが任意のメタデータレコードに登録されておらず、CORSが有効にされていないWMS/WFSサービスURLを追加することである。ユーザはこれらのサービスからレイヤを追加することができない.

WEB

コンテンツの重要な部分が正常なサイトのように表現されているからですウェブサイトのベストプラクティスを提案します:

  • GeoNetworkは登録機能を持つため,ブラウザはそのサイトをHTTPS上で安全に動作させることが望ましい.しかしながら、httpsサイト上のブラウザは、http(ミックスコンテンツ)として含まれる任意のコンテンツを阻止することを考慮しなければならない。多くのリンク(サムネイル、WMSサービスなど)(アーカイブされた)メタデータには、依然としてHTTPに基づくことができる。Httpとhttpsでサイトを実行し、httpsに切り替えてユーザー登録を防ぐことが考えられます。

  • 流行の検索エンジンと交渉し,検索結果にGeoNetworkを列挙するかリストしない.各種検索エンジン管理ページにGeoNetworkサイト地図を登録し,歩行や検索行動を監視する.これは,検索行動やメタデータ中のデッドリンクなどの興味深い知見をもたらす.検索エンジンに自分のアイデンティティを表明するためには、ウェブサイトのルートディレクトリに識別ファイルを置く必要があります。同一サイトにはrobots.txtファイルも置かれており,このファイルはサイト地図にリンクされている.Robots.txtはまた、検索エンジンがカタログのいくつかの部分を這わないように誘導するために使用することができる。GeoNetworkがルートフォルダにインストールされていれば,robots.txtはすでに正しい位置にある.

  • 記録されたディレクトリURIとAPIが時間とともに不変であるかどうかを検証する.他のサイトはディレクトリに深くリンクする可能性があり,これらのリンクは遷移後に切断すべきではない.ストリームを新しいURLに転送する転送ルールを設定することで,切断されたリンクの使用を修復する. cool uri's それがそうです。たとえば,URLにはGeoNetworkのような製品名を用いない.

  • ディレクトリ管理機構のリンク、免責宣言、Cookie警告、および/またはプライバシーポリシーは、ウェブ·ヘッダ/フッタで提供されます。

  • Zabbix、nagios、または geohealthcheck それがそうです。