【发布时间】:2020-09-27 14:35:23
【问题描述】:
我正在遵循https://hub.docker.com/r/apache/nifi 的“独立实例,双向 SSL”部分中的步骤。但是,当我访问 NiFi 页面时,我的用户权限不足。以下是我正在使用的过程:
生成自签名证书
mkdir conf
docker exec \
-ti toolkit \
/opt/nifi/nifi-toolkit-current/bin/tls-toolkit.sh \
standalone \
-n 'nifi1.bluejay.local' \
-C 'CN=admin,OU=NIFI'
docker cp toolkit:/opt/nifi/nifi-current/nifi-cert.pem conf
docker cp toolkit:/opt/nifi/nifi-current/nifi-key.key conf
docker cp toolkit:/opt/nifi/nifi-current/nifi1.bluejay.local conf
docker cp toolkit:/opt/nifi/nifi-current/CN=admin_OU=NIFI.p12 conf
docker cp toolkit:/opt/nifi/nifi-current/CN=admin_OU=NIFI.password conf
docker stop toolkit
将客户端证书导入浏览器
将.p12 文件导入浏览器。
更新 /etc/hosts
将“127.0.0.1 nifi1.bluejay.local”添加到 /etc/hosts 文件的末尾。
定义 NiFi 网络
docker network create --subnet=10.18.0.0/16 nifi
在容器中运行 NiFi
docker run -d \
-e AUTH=tls \
-e KEYSTORE_PATH=/opt/certs/keystore.jks \
-e KEYSTORE_TYPE=JKS \
-e KEYSTORE_PASSWORD=$(grep keystorePasswd conf/nifi1.bluejay.local/nifi.properties | cut -d'=' -f2) \
-e TRUSTSTORE_PATH=/opt/certs/truststore.jks \
-e TRUSTSTORE_PASSWORD=$(grep truststorePasswd conf/nifi1.bluejay.local/nifi.properties | cut -d'=' -f2) \
-e TRUSTSTORE_TYPE=JKS \
-e INITIAL_ADMIN_IDENTITY="CN=admin,OU=NIFI" \
-e NIFI_WEB_PROXY_CONTEXT_PATH=/nifi \
-e NIFI_WEB_PROXY_HOST=nifi1.bluejay.local \
--hostname nifi1.bluejay.local \
--ip 10.18.0.10 \
--name nifi \
--net nifi \
-p 8443:8443 \
-v $(pwd)/conf/nifi1.bluejay.local:/opt/certs:ro \
-v /data/projects/nifi-shared:/opt/nifi/nifi-current/ls-target \
apache/nifi
访问页面
当您访问 http://localhost:8443/nifi 时,系统会要求您选择一个证书。选择您导入的证书(例如管理员)。
此时,我看到了:
Insufficient Permissions
Unknown user with identity 'CN=admin, OU=NIFI'. Contact the system administrator.
在我看到的示例中,没有提到这个问题或如何解决它。
如何将权限分配给初始管理员身份?
【问题讨论】:
-
身份“CN=admin,OU=NIFI”的逗号后面必须有空格。
标签: docker ssl apache-nifi