- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
NiFi single user Certificate and Token not found
- Labels:
-
Apache NiFi
Created on 06-03-2022 11:40 PM - edited 06-03-2022 11:43 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Hello,
I've been trying to setup NiFi with single user authentication but got stuck in a "Access Unknown: Certificate and Token not found" error, and I'm unable to find a solution. Any help would be greatily apreciate.
So, I'm trying to deploy in a remote machine with Docker, with authentication provided by NiFi, using a Nginx as reverse proxy.
Maybe I have to pass p12 file to NiFi, but I have no idea how to proced.
My docker-compose file is as follows
version: '3.9'
x-base: &base
image: apache/nifi:1.16.2
networks:
- nifi
x-nifi-environment: &nifi-environment
NIFI_WEB_HTTPS_PORT: 8443
NIFI_CLUSTER_IS_NODE: "true"
NIFI_ZK_CONNECT_STRING: "zookeeper:2181"
NIFI_ELECTION_MAX_WAIT: "30 sec"
NIFI_ELECTION_MAX_CANDIDATES: 2
NIFI_SENSITIVE_PROPS_KEY: "my-random-string"
NIFI_WEB_PROXY_CONTEXT_PATH: "//"
NIFI_CLUSTER_NODE_PROTOCOL_PORT: 8082
NIFI_WEB_PROXY_HOST: "nifi0:8443,nifi0,nifi0.mysite.com,nifi1:8443,nifi1,nifi1.mysite.com,nifi2:8443,nifi2,nifi2.mysite.com,nifi.mysite.com"
NIFI_WEB_HTTPS_HOST: "0.0.0.0"
SINGLE_USER_CREDENTIALS_USERNAME: "my_admin"
SINGLE_USER_CREDENTIALS_PASSWORD: "PASSWORD_GENERATED_BY_NIFI_TOOLKIT"
AUTH: "tls"
KEYSTORE_PATH: "/opt/certs/keystore.jks"
KEYSTORE_TYPE: "JKS"
KEYSTORE_PASSWORD: "KEYSTORE_PASSWORD_GENERATED_BY_NIFI_TOOLKIT"
TRUSTSTORE_PATH: "/opt/certs/truststore.jks"
TRUSTSTORE_TYPE: "JKS"
TRUSTSTORE_PASSWORD: "TRUSTSTORE_PASSWORD_GENERATED_BY_NIFI_TOOLKIT"
NIFI_SECURITY_USER_AUTHORIZER: "single-user-authorizer"
NIFI_SECURITY_USER_LOGIN_IDENTITY_PROVIDER: "single-user-provider"
INITIAL_ADMIN_IDENTITY: "CN=my_admin, OU=NiFi"
services:
zookeeper:
container_name: zookeeper
image: bitnami/zookeeper:3.8.0
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
networks:
- nifi
nifi0:
<<: *base
container_name: nifi0
volumes:
- nifi_certs:/opt/certs:ro
- nifi0_conf:/opt/nifi/nifi-current/conf
- nifi0_extensions:/opt/nifi/nifi-current/extensions
- nifi0_database_repository:/opt/nifi/nifi-current/database_repository
- nifi0_flowfile_repository:/opt/nifi/nifi-current/flowfile_repository
- nifi0_content_repository:/opt/nifi/nifi-current/content_repository
- nifi0_provenance_repository:/opt/nifi/nifi-current/provenance_repository
- nifi0_state:/opt/nifi/nifi-current/state
- nifi0_logs:/opt/nifi/nifi-current/logs
environment:
<<: *nifi-environment
NIFI_CLUSTER_ADDRESS: "nifi0"
networks:
- nifi
- npm_bridge
nifi1:
<<: *base
container_name: nifi1
volumes:
- nifi_certs:/opt/certs:ro
- nifi1_conf:/opt/nifi/nifi-current/conf
- nifi1_extensions:/opt/nifi/nifi-current/extensions
- nifi1_database_repository:/opt/nifi/nifi-current/database_repository
- nifi1_flowfile_repository:/opt/nifi/nifi-current/flowfile_repository
- nifi1_content_repository:/opt/nifi/nifi-current/content_repository
- nifi1_provenance_repository:/opt/nifi/nifi-current/provenance_repository
- nifi1_state:/opt/nifi/nifi-current/state
- nifi1_logs:/opt/nifi/nifi-current/logs
environment:
<<: *nifi-environment
NIFI_CLUSTER_ADDRESS: "nifi1"
networks:
- nifi
- npm_bridge
networks:
nifi:
driver: bridge
npm_bridge:
external: true
volumes:
nifi_certs:
external: true
# nifi 0
nifi0_conf:
nifi0_extensions:
nifi0_database_repository:
nifi0_flowfile_repository:
nifi0_content_repository:
nifi0_provenance_repository:
nifi0_state:
nifi0_logs:
# nifi 1
nifi1_conf:
nifi1_extensions:
nifi1_database_repository:
nifi1_flowfile_repository:
nifi1_content_repository:
nifi1_provenance_repository:
nifi1_state:
nifi1_logs:
I'm using Nginx Proxy Manager, so my config is as follows
server {
set $forward_scheme https;
set $server "nifi0";
set $port 8443;
listen 80;
listen 443 ssl http2;
server_name nifi0.mysite.com;
# Let's Encrypt SSL
include conf.d/include/letsencrypt-acme-challenge.conf;
include conf.d/include/ssl-ciphers.conf;
# letsencrypt certificate
ssl_certificate /etc/letsencrypt/live/npm-1/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/npm-1/privkey.pem;
# Block Exploits
include conf.d/include/block-exploits.conf;
# Force SSL
include conf.d/include/force-ssl.conf;
access_log /data/logs/proxy-host-3_access.log proxy;
error_log /data/logs/proxy-host-3_error.log warn;
# My actual configuration
location / {
proxy_set_header X-ProxyScheme https;
proxy_set_header X-ProxyHost $host;
proxy_set_header X-ProxyPort 443;
proxy_set_header X-ProxyContextPath /;
proxy_set_header X-ProxiedEntitiesChain <$ssl_client_s_dn>;
proxy_pass $forward_scheme://$server:$port$request_uri;
}
# Custom
include /data/nginx/custom/server_proxy[.]conf;
}
The error is:
NiFi login error
But no error is generated at nifi-user.log file.
Thank you.
Created 06-13-2022 05:10 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, @Arqui ,
I've made a few changes to your docker-compose.yml file to automatically generate certificates and set credentials. Please check it out here.
You don't need to provide or configure anything manually. Just start the docker composer, connect to https://localhost:8443/nifi and authenticate with admin/supersecret1 (you can change username and password in the compose configuration.
Cheers,
André
Was your question answered? Please take some time to click on "Accept as Solution" below this post.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Created 06-08-2022 11:34 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Arqui ,
Your initial admin should be simply:
INITIAL_ADMIN_IDENTITY: "my_admin"
Cheers,
André
Was your question answered? Please take some time to click on "Accept as Solution" below this post.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Created 06-10-2022 12:48 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @araujo, thank you so much for your response, I've changed "INITIAL_ADMIN_IDENTITY" value to "my_admin", but the same error has happend.
I'm trying to follow this tutorial: Setting Up a Secure Apache NiFi Registry, in his case, the bowser asks for the p12 cert file, in my case doesn't happen, maybe because it's running behind a proxy?
I've no idea how to pass this cert, I did try to import to the browser, but nothing happend, besides, informing the wrong user/pass it does say they're incorrect, and more, for this error, no log is generated, so I'm lost.
If you have any other idea, please let me know, thanks again.
Created 06-13-2022 05:10 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, @Arqui ,
I've made a few changes to your docker-compose.yml file to automatically generate certificates and set credentials. Please check it out here.
You don't need to provide or configure anything manually. Just start the docker composer, connect to https://localhost:8443/nifi and authenticate with admin/supersecret1 (you can change username and password in the compose configuration.
Cheers,
André
Was your question answered? Please take some time to click on "Accept as Solution" below this post.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Created 06-22-2022 01:03 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @araujo.
It's working perfectly, thank you so much.
One last thing, before I was able to proxy via nginx, but now it gives connection refused, do you have an idea of where I should look for?
Thanks.
Created 06-22-2022 03:55 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Arqui ,
Are you running your nginx externally? How are you trying to connect?
Cheers,
André
Was your question answered? Please take some time to click on "Accept as Solution" below this post.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Created 06-24-2022 11:08 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @araujo I'm using Nginx Proxy Manager, in the same Docker, maybe was working before because the cert was not
I'm trying to connect via localhost.
Created 06-22-2022 06:20 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Arqui ,
I've added nginx as a load balancer/proxy to the compose file.
Cheers,
André
Was your question answered? Please take some time to click on "Accept as Solution" below this post.
If you find a reply useful, say thanks by clicking on the thumbs up button.
