NIFI 2.0.0版本HTTPS访问部署

news2024/11/18 10:35:22

1. 相关环境

服务器:centos

JDK:jdk21

NIFI: nifi-2.0.0-M1

2. 下载NIFI

  1. 下载NIFI

    https://nifi.apache.org/download/

  2. 将文件上传至服务器指定目录,解压缩

  3. 修改 bin 目录下的脚本文件
    ​ 注意: nifi 2.0.0 版本需要jdk21,所以需要配置java环境。如果服务器方便配置java环境变量为jdk21,则不用修改下面两个脚本文件。
    请添加图片描述
    由于我们服务器配置的java环境变量为1.8,为了不影响其他服务,我们在 /etc/profile中增加 NIFI_JAVA_HOME 变量。此时需要修改nifi.sh 和nifi-env.sh

  • 配置NIFI_JAVA_HOME变量

    vim /etc/profile
    
    # 增加NIFI_JAVA_HOME,配置对应路径
    export NIFI_JAVA_HOME=/hya/soft/jdk21
    
    # 保存后使配置文件生效
    source /etc/profile
    
  • 修改nifi.sh,将JAVA_HOME全部改为NIFI_JAVA_HOME
    请添加图片描述

  • 修改nifi-env.sh,将JAVA_HOME的路径改为jdk21的路径
    请添加图片描述

3. 创建自签名PKCS12证书,使用HTTPS远程访问

  1. 在conf目录下删除原有证书

​ nifi默认的证书只能本机访问,访问web会报错

nifi配置https启动成功,访问报错HTTP ERROR 400 Invalid SNI
URI:        /nifi
STATUS:        400
MESSAGE:        Invalid SNI
SERVLET:        -
CAUSED BY:        org.eclipse.jetty.http.BadMessageException: 400: Invalid SNI
Caused by:
org.eclipse.jetty.http.BadMessageException: 400: Invalid SNI
        at org.eclipse.jetty.server.SecureRequestCustomizer.customize(SecureRequestCustomizer.java:266)
        at org.eclipse.jetty.server.SecureRequestCustomizer.customize(SecureRequestCustomizer.java:207)
        at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1594)
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
        at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:461)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:193)
        at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:208)
        at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:155)
        at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:450)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
        at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:558)
        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:379)
        at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:146)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
        at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
        at java.base/java.lang.Thread.run(Thread.java:1583)

我们将conf目录下的.p12文件删除,重新创建证书
请添加图片描述

rm -rf *.p12
  1. 在 conf 目录下创建证书

    # 生成RSA私钥(无密码,生产环境中应设置一个)
    openssl genpkey -algorithm RSA -out nifi.key
    
    # 创建自签名证书请求(填写相关信息,如Common Name应为您的服务器IP地址)
    openssl req -new -key nifi.key -out nifi.csr
    
    # 使用私钥和CSR生成自签名证书,有效期可以自行调整(此处设置3650天)
    openssl x509 -req -days 3650 -in nifi.csr -signkey nifi.key -out nifi.crt
    # 将私钥和证书合并到一个PKCS12文件中,并设置一个密码(例如:abcdef123456)
    openssl pkcs12 -export -in nifi.crt -inkey nifi.key -out nifi.p12 -name nifi -password pass:abcdef123456
    

    此时 conf 目录会多出几个文件

    请添加图片描述

  2. 修改 nifi.properties 文件

    • 配置服务器地址和端口
      注意:nifi不可同时开启http和https访问,会报错
      请添加图片描述

    • 配置证书路径和密码
      请添加图片描述

4. 创建访问账户

在 bin 目录下执行命令创建访问用户名和密码

./nifi.sh set-single-user-credentials admin abcdef123456

5. 启动NIFI服务

  1. 在 bin 目录下启动 NIFI 服务

    ./nifi.sh start
    
  2. 日志查看是否启动成功

    在logs目录下查看服务是否启动成功

    tail -f nifi-bootstrap.log
    

    请添加图片描述

6. 开放访问端口

如果服务器开启了防火墙,需要将nifi.properties 中配置的访问端口放开。

# 查看已开放的所有端口
firewall-cmd --list-ports

# 开放8443
firewall-cmd --permanent --zone=public --add-port=8443/tcp

# 重新加载防火墙规则,使更改生效
firewall-cmd --reload

7. web访问

访问地址:https://172.16.1.9:8443/nifi

请添加图片描述

输入之前创建好的用户名密码登录

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1396433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 二叉树OJ题

目录 1、606. 根据二叉树创建字符串 2、102. 二叉树的层序遍历 3、107. 二叉树的层序遍历 II 4、236. 二叉树的最近公共祖先 5、JZ36 二叉搜索树与双向链表 6、105. 从前序与中序遍历序列构造二叉树 7、106. 从中序与后序遍历序列构造二叉树 8、144. 二叉树的前序遍历…

pdf怎么查看?6个不能错过的软件!

PDF,作为一种常用的文件格式,已经成为了我们工作、学习中的必备工具。然而,对于许多新手来说,如何查看和编辑PDF文件却是一个不小的挑战。今天,我们就来为大家详细介绍一下如何查看和编辑PDF文件,以及一些必…

从法律的角度看待项目前期可行性研究的必要性

前言 在司法实践中,很多纠纷展现出来的问题是项目提供方没有按照合同约定履行发生违约的情况,例如逾期交付、项目不符合约定标准等等,但是这些情况发生的原因是各不相同的,其中有一类纠纷的发生却是从一开始就埋下了风险的种子&a…

2.0-学成在线内容管理

内容管理模块 1.需求 1.1 业务流程 内容管理的业务由教学机构人员和平台的运营人员共同完成。 教学机构人员的业务流程如下: 1、登录教学机构。 2、维护课程信息,添加一门课程需要编辑课程的基本信息、上传课程图片、课程营销信息、课程计划、上传课程…

深入详解使用 RabbitMQ 过程中涉及到的多个细节问题(面试可用)

目录 1、基础类问题 2、cluster 相关问题 3、综合性问题 4、参考资料 C软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/125529931C/C基础与进阶&…

OB OCP工具

文章目录 OCP产品架构OCP核心功能集群管理-集群拓扑图告警管理 OCP OCP(OceanBase Cloud Platform)是企业级数据库管理平台OceanBase 云平台(OceanBase Cloud Platform,OCP)是以 OceanBase 为核心的企业级数据库管理平…

外汇天眼:加拿大监管机构提出了关于持有加密资产的公共投资基金的规定

加拿大证券管理局(CSA)是由加拿大各省金融市场监管机构组成的国家机构。他们已发布了一组旨在征求意见的拟议监管要求,适用于寻求投资加密资产的公共投资基金。 Stan Magidson,CSA主席兼艾伯塔证券委员会主席兼首席执行官表示&…

无货源跨境电商到底应该怎么做,新手必看

如今,跨境电商无疑已经成为了一个热门的创业领域,但对于一些新手来说,面临的一个主要挑战是如何处理产品的货源问题。下面我就和大家分享一下无货源跨境电商的基本概念以及一些新手可以采取的策略和步骤,帮助大家在这个领域取得成…

UE4 添加按键输入事件 并在蓝图中使用按键输入节点

绑定按键 选择Edit/ProjectSettings/Engine/Input 在bindings中可以选择添加ActionMappings或则AxisMappings ActionMappings:按键事件,有按下和抬起两个事件,需要分别用两个键触发AxisMappings:输入事件,返回值为float,对于键盘…

突破划片机技术瓶颈,博捷芯BJX3352助力晶圆切割行业升级

随着半导体行业的快速发展,晶圆切割作为半导体制造过程中的重要环节,对于切割设备的性能和精度要求越来越高。为了满足市场需求,提高生产效率,国产划片机企业博捷芯推出了新一代划片机BJX3352,成功突破了技术瓶颈&…

(设置非自定义Bean)学习Spring的第六天

一 . 获取Bean的方法详解 , 如下图 : 二 . Spring配置非自定义bean----DruidDatasource 我们举个例子 : 配置Druid数据源交由Spring管理 首先导入在pom文件Druid坐标 然后考虑 : 被配置的Bean的实例化方式是什么 : 无参构造 被配置的Bena是否要注入必要属性 : 四个基本信息…

msvcp140_atomic_wait.dll文件缺失的解决方法指南,如何快速修复

在处理计算机软件时,我们经常遭遇一些阻碍程序运行的错误,尤其是那些与动态链接库(DLL)文件相关的。msvcp140_atomic_wait.dll是一个常见的DLL文件,它在Windows操作系统中扮演了重要角色。本文将讨论msvcp140_atomic_wait.dll文件的作用&…

小程序导出excel

先上个图&#xff0c;这个是在电脑上测试导出来的表 大致远离就是用的原生td&#xff0c;tr去导出的&#xff0c; 代码 <template><view><button click"tableToExcel">导出一个表来看</button></view> </template><script&g…

《Python数据分析技术栈》第01章 02 Jupyter入门(Getting started with Jupyter notebooks)

02 Jupyter入门&#xff08;Getting started with Jupyter notebooks&#xff09; 《Python数据分析技术栈》第01章 02 Jupyter入门&#xff08;Getting started with Jupyter notebooks&#xff09; Before we discuss the essentials of Jupyter notebooks, let us discuss…

C语言编译和链接

翻译环境和运行环境 在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境 .第一种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令 .第二种是执行环境&#xff0c;它用于实际执行代码 翻译环境 翻译环境是由编译和链接两个大过程组成&#xff0c;而…

仿真机器人-深度学习CV和激光雷达感知(项目2)day03【机器人简介与ROS基础】

文章目录 前言机器人简介机器人应用与前景机器人形态机器人的构成 ROS基础ROS的作用和特点ROS的运行机制ROS常用命令 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;本文内容是我为复试准备的第二个项目 &#x1f4ab;欢迎…

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践

不用放大了&#xff0c; 我在包里找到张不小的…… 以太网HMI线下培训-环境准备 名字虽然叫技术培训&#xff1a; 其实是由两部分组成&#xff1a;板子网关 先介绍周六的培训是啥&#xff0c;然后再介绍一下要准备的一些东西 R A 6 M 3 H M I − B o a r d \textcolor{#41…

AD导出BOM表 导出PDF

1.Simple BOM: 这种模式下&#xff0c;最好在pcb界面&#xff0c;这样的导出的文件名字是工程名字&#xff0c;要是在原理图界面导出&#xff0c;会以原理图的名字命名表格。 直接在菜单栏 报告->Simple BOM 即可导出物料清单&#xff0c;默认导出 comment pattern qu…

LaTeX-OCR安装教程

一. 通用安装步骤 1.前置应用 安装LaTeX-OCR首先需要安装Python。在系统自带的应用商店Microsoft Store搜索Python&#xff0c;点击最新版本Python 3.12下载即可。 2.运行powershell Win11按底部状态栏windows徽标在搜索框内搜索 powershell 或者按快捷键 “win 键 R” &am…