我有一个要求,Pentaho Carte 服务器需要接受“HTTPS”而不是默认的“HTTP”。
我已点击以下链接但无济于事:
https://help.pentaho.com/Documentation/6.0/0L0/0Y0/060/060/010#Configuring_Carte_Servers_for_SSL
以下是我遵循的步骤:
使用 Keytool,我使用以下命令创建了一个
.jks
文件:
keytool -genkey -keyalg RSA -alias selfsigned -keystore C:\KEY_STORE\Pentaho\keystore.jks -storepass password -validity 360 -keysize 2048
我编辑了系统上的
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
中提到了它的位置。我将 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
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)
可以明显看到保存密钥的文件夹无法访问。我已授予该文件夹的完全访问权限。
附注- 使用 Pentaho Kettle 社区版 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>
我已经在端口 8443 上配置了 SSL(我看到 Jetty 设置了这个),Carte 服务正在工作,但默认的 pdi.log 文件中没有日志。我应该设置什么才能在 /logs/pdi.log 文件中创建日志条目?