【问题标题】:How to configure Pentaho Carte to accept HTTPS request instead of HTTP如何配置 Pentaho Carte 以接受 HTTPS 请求而不是 HTTP
【发布时间】:2017-06-19 08:29:20
【问题描述】:

我有一个要求,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) 
    

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

附: - 在 Pentaho Kettle 社区版 5.4 和 Windows 7 上工作

有什么建议吗?

【问题讨论】:

  • 刚刚提出了同样的话题。如何配置码头以使用 https
  • @simar - 遗憾的是,没有实质性的回应。

标签: ssl https pentaho kettle


【解决方案1】:

文档中似乎有错误。

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

文档状态

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

重要的部分是 "...file..."

尝试替换为

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

而且我更喜欢使用反斜杠

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

【讨论】:

  • 解决了。 @Simar,感谢您抽出宝贵时间。还有一点,它可能对将来的某人有所帮助,Jetty 的默认端口不是 8010,而是 8443。
  • Tomcat 和 Jetty 有几个通常使用的端口。我知道,通常为 http 保留 8080,为 https 保留 8443 以及用于发送消息以关闭服务器或识别启动期间已运行的实例的端口。
  • 实际上很多端口可能在服务器上使用连接器配置,如jms、内存数据库、ajp协议支持等。
猜你喜欢
  • 2019-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-31
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多