如何配置 Pentaho Carte 接受 HTTPS 请求而不是 HTTP

How to configure Pentaho Carte to accept HTTPS request instead of HTTP

我有一个要求,Pentaho Carte 服务器需要接受 "HTTPS" 而不是默认的 "HTTP"。

我遵循了以下 link 但无济于事:

https://help.pentaho.com/Documentation/6.0/0L0/0Y0/060/060/010#Configuring_Carte_Servers_for_SSL

以下是我遵循的步骤:

  1. 使用 Keytool,我使用以下命令创建了一个 .jks 文件:

    keytool -genkey -keyalg RSA -alias selfsigned -keystore   C:\KEY_STORE\Pentaho\keystore.jks -storepass password -validity 360 -keysize 2048
    
  2. 我在我的系统上编辑了 carte_config_master-8080.xml 文件,现在看起来是:

    <slaveserver>
        <name>master1</name>
        <hostname>10.67.110.93</hostname>
        <port>8080</port>
        <master>Y</master>
        <sslConfig>
            <keyStore>C:\KEY_STORE\Pentaho</keyStore>
            <keyStorePassword>password</keyStorePassword>
            <keyPassword>password</keyPassword>
        </sslConfig>
    </slaveserver>
    

    可以看到我已经创建了 .jks 文件并在 carte-config-master-8080.xml 中提到了它的位置。

  3. 我调用 Carte 为:

    C:\software\pdi-ce-5.4.0.1-130\data-integration>Carte.bat carte-config-master-8080.xml
    DEBUG: Using PENTAHO_JAVA_HOME
    DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files\Java\jre7
    DEBUG: _PENTAHO_JAVA=C:\Program Files\Java\jre7\bin\java.exe
    
  4. Carte 正在被调用,但它不接受 "HTTPS",我猜是因为以下错误:

    validation.properties could not be loaded by any means. fail. Exception was: java.lang.IllegalArgume
    classloader resource.
    SecurityConfiguration for Logger.LogServerIP not either "true" or "false" in ESAPI.properties. Using
    2017/02/02 15:33:31 - Carte - Using SSL mode
    2017/02/02 15:33:31 - Carte - Created listener for webserver @ address : 10.67.110.93:8080
    Exception in thread "main" java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
    Caused by: java.io.FileNotFoundException: C:\KEY_STORE\Pentaho (Access is denied)
            at java.io.FileInputStream.open(Native Method)
            at java.io.FileInputStream.<init>(Unknown Source) 
    

    可以明显看出保存密钥的文件夹是无法访问的。我已授予该文件夹的完全访问权限。

P.S。 - 致力于 Pentaho Kettle Community Edition 5.4 & Windows 7

有什么建议吗?

文档中似乎有错误。

<keyStore>C:\KEY_STORE\Pentaho</keyStore> 

文档状态

keyStore  | Path to the keystore **file**.  | Yes

重要的部分是 "...文件..."

尝试替换为

<keyStore>C:\KEY_STORE\Pentaho\keystore.jks</keyStore> 

而且我更喜欢使用反斜杠

<keyStore>C:/KEY_STORE/Pentaho/keystore.jks</keyStore>