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

时间:2017-02-02 10:09:11

标签: ssl https pentaho kettle

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

我已按照以下链接但无效:

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) 
    

    可以清楚地看到保存密钥的文件夹不可访问。我已授予该文件夹的完全访问权限。

  5. P.S。 - 使用Pentaho Kettle Community Edition 5.4&amp; Windows 7

    有什么建议吗?

1 个答案:

答案 0 :(得分:2)

看起来文档中存在错误。

线

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

Documentaion陈述

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

重要的部分是&#34; ...文件......&#34;

尝试替换为

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

而且我更喜欢使用反斜杠

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