在部署如 n8n 这类自动化平台时,为了保障数据传输安全,我们通常会使用 HTTPS 访问。本文将以 n8n.example.com 为例,介绍如何在 CentOS 7 系统中通过 Nginx 为本地运行在端口 5678 的 n8n 服务配置免费 SSL 证书(Let’s Encrypt)。


🧱 环境准备

  • 操作系统:CentOS 7

  • Web 服务器:Nginx

  • 应用服务:n8n 运行在本地 5678 端口

  • 域名:已将 n8n.example.com 解析至本机公网 IP


📦 第一步:安装 Certbot 与 Nginx 插件

Certbot 是由 EFF 提供的 Let’s Encrypt 官方客户端,用于申请和续期 SSL 证书。

sudo yum install -y epel-release
sudo yum install -y certbot python2-certbot-nginx

如果你使用的是 Python 3 的系统环境,改用:

sudo yum install -y python3-certbot-nginx

🌐 第二步:配置 Nginx 反向代理 n8n

新建 Nginx 配置文件:

sudo vi /etc/nginx/conf.d/n8n.conf

写入以下内容,将 80 端口的请求转发到本地的 5678:

server {listen 80;server_name n8n.example.com;location / {proxy_pass http://localhost:5678;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'upgrade';proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;}
}

保存退出后,测试 Nginx 配置:

sudo nginx -t

若显示配置成功,重载 Nginx:

sudo systemctl reload nginx

🔐 第三步:使用 Certbot 自动申请 SSL 证书

执行以下命令自动为该域名申请 HTTPS 证书并配置 Nginx:

sudo certbot --nginx -d n8n.example.com

Certbot 会询问一些确认项:

选择完后,Certbot 会:

  • 自动获取证书

  • 配置 Nginx HTTPS 虚拟主机

  • 配置 301 强制跳转

  • 自动重载 Nginx


🔁 第四步:测试 HTTPS 是否生效

打开浏览器访问:

https://n8n.example.com

如果你看到的是 n8n 的界面,并且浏览器地址栏显示绿色锁🔒,就说明配置成功!

你也可以用命令行测试证书:

curl -I https://n8n.example.com

🔄 第五步:配置自动续期(推荐)

Let’s Encrypt 的证书有效期是 90 天,推荐使用定时任务自动续期。

sudo crontab -e

添加一行:

0 3 * * * /usr/bin/certbot renew --quiet

这样每天凌晨 3 点会静默执行续期检查。


📄 补充:最终生成的 Nginx 配置参考

server {listen 80;server_name n8n.example.com;return 301 https://$host$request_uri;
}server {listen 443 ssl;server_name n8n.example.com;ssl_certificate /etc/letsencrypt/live/n8n.example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/n8n.example.com/privkey.pem;location / {proxy_pass http://localhost:5678;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'upgrade';proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch从安装到实战、kibana安装以及自定义IK分词器/集成整合SpringBoot详细的教程ES(四)查询、排序、分页、高亮

基础代码 package com.test.xulk;import com.alibaba.fastjson.JSON; import com.test.xulk.es.esdoc.HotelDoc; import com.test.xulk.es.service.IHotelService; import org.apache.http.HttpHost; import org.elasticsearch.action.search.SearchRequest; import org.elast…

一个数组样式上要分成两个

如图所示&#xff0c;要有一个区分来显示&#xff0c;如果一开始就是这样还可以有很多种处理方式&#xff0c;但是这个后期一直在调整所以不好重做因为开发已经完成&#xff0c;加上很多地方联动改的地方太多&#xff0c;所以采用了一个比较笨的方法 <ul class"classif…

NLP进化史:从规则模板到思维链推理,七次范式革命全解析

“语言不是神的创造物&#xff0c;而是平凡人类的产物。”——诺姆乔姆斯基 自然语言处理&#xff08;NLP&#xff09;的发展史&#xff0c;就是人类试图教会机器理解语言本质的探索史。本文将带您穿越70年技术长河&#xff0c;揭示NLP领域关键的范式转换里程碑。 一、规则驱动…

Yarn与NPM缓存存储目录迁移

Yarn与NPM缓存存储目录迁移 背景与需求 解释Yarn和NPM缓存机制的作用及默认存储路径迁移缓存目录的常见原因&#xff08;如磁盘空间不足、系统盘性能优化、多项目协作需求&#xff09; Yarn缓存目录迁移方法 查看当前Yarn缓存目录的命令&#xff1a;yarn cache dir修改Yarn…

Python爬虫-批量爬取快手视频并将视频下载保存到本地

前言 本文是该专栏的第80篇,后面会持续分享python爬虫干货知识,记得关注。 本文笔者以快手为例子,基于Python爬虫来实现批量采集视频,并将视频下载以及保存到本地。 而具体的“视频采集以及视频下载,保存”思路逻辑,笔者将在正文中结合“完整代码”来详细介绍每个步骤。…

org.springframework.cloud.openfeign 组件解释

我们来详细解释一下 org.springframework.cloud.openfeign 这个组件。 一句话概括&#xff1a;它是一个声明式的、模板化的HTTP客户端&#xff0c;旨在让微服务之间的REST API调用变得像调用本地方法一样简单。 为了让你彻底理解&#xff0c;我会从以下几个方面来解释&#x…

2025年06月13日Github流行趋势

项目名称&#xff1a;awesome-llm-apps 项目地址url&#xff1a;https://github.com/Shubhamsaboo/awesome-llm-apps项目语言&#xff1a;Python历史star数&#xff1a;37,536今日star数&#xff1a;1,287项目维护者&#xff1a;Shubhamsaboo, Madhuvod, libw0430, AndrewHoh, …

Go语言底层(五): 深入浅出Go语言的ants协程池

在 Go 语言中&#xff0c;goroutine 的轻量特性使得高并发编程变得异常简单。然而&#xff0c;随着并发量的增加&#xff0c;频繁创建对象和无限制启动 goroutine 也可能带来内存浪费、GC 压力和资源抢占等问题。为了解决这些隐患&#xff0c;协程池成为常用的优化手段。用于控…

React Native【实战范例】网格导航 FlatList

import React from "react"; import {FlatList,Image,SafeAreaView,StyleSheet,Text,View, } from "react-native"; interface GridItem {id: string;title: string;imageUrl: string; } // 网格布局数据 const gridData Array.from({ length: 30 }, (_, …

KJY0047-J1阶段测试

KJY0047 - J1阶段测试题解 题目1&#xff1a;SYAP0001. 闯关 解题思路&#xff1a; 暴力思路&#xff1a;每次碰到奇数都使用一次 f o r for for 循环将后续的数值 1 1 1, 时间复杂度 O ( n 2 ) O(n^2) O(n2) 优化思路&#xff1a;可以用一个计数器 c n t cnt cnt 来存…

键盘按键枚举 Key 说明文档

键盘按键枚举 Key 说明文档 该文档介绍了 Key 枚举中定义的键盘按键常量及其对应编号&#xff0c;适用于标准 105 键的美式键盘布局。常用于浏览器或桌面端的键盘事件监听、游戏开发、快捷键映射等场景。 electron-jest ⌨️ 功能键&#xff08;Function Keys&#xff09; …

函数调用过程中的栈帧变化

int add(int a, int b) {int c a b;return c; }int main() {int result add(1, 2);return 0; }生成汇编代码&#xff1a;g -S Cplus.cpp -o Cplus.s .file "Cplus.cpp".text.globl _Z3addii.def _Z3addii; .scl 2; .type 32; .endef.seh_proc _Z3addii _Z3addii:p…

【Java面试笔记:实战】41、Java面试核心考点!AQS原理及应用生态全解析

引言:AQS在Java并发体系中的核心地位 AQS(AbstractQueuedSynchronizer)作为Java并发包的底层基石,是理解ReentrantLock、Semaphore等同步工具的关键。 在Java架构师面试中,AQS的原理与应用是高频考点,掌握其核心机制对理解JUC包和构建高并发系统至关重要。 本文将从原…

硕士课题常用命令

ros常用命令&#xff1a; 1.环境变量刷新 source devel/setup.bash2.ROS_INFO的信息在终端显示为乱码或者问号&#xff0c;则在main函数中加入&#xff1a; setlocale(LC_ALL, "");3.刷新bashrc文件 source ~/.bashrcPX4 roslaunch px4 mavros_posix_sitl.launc…

2.6 激光雷达消息格式

新建终端&#xff0c;执行命令 roslaunch wpr_simulation wpb_simple.launch 在新建终端&#xff0c;执行命令 roslaunch wpr_simulation wpb_rviz.launch 显示/Scan话题消息&#xff0c;后面的参数是noarr无数组&#xff0c;防止刷屏 rostopic echo /scan --noarr 参考官…

常见的网络协议有哪些

1.应用层 1.1 HTTP/HTTPS 前端与服务器通信的基础协议&#xff0c;用于传输 HTML、CSS、JS、图片等资源。 1.2WebSocket&#xff08;如社交聊天、股票实时报价、视频会议、在线教育等&#xff09; WebSocket协议建立在TCP协议之上&#xff0c;实现了浏览器与服务器之间的实时…

Prometheus + Grafana 监控 RabbitMQ 实践指南

文章目录 Prometheus Grafana 监控 RabbitMQ 实践教程一、前言二、环境搭建2.1 环境准备2.2 安装 Prometheus2.3 安装 Grafana 三、集成 RabbitMQ Exporter3.1 下载 RabbitMQ Exporter3.2 解压文件3.3 配置环境变量3.4 启动 RabbitMQ Exporter3.6 验证 Exporter 状态 四、Prom…

Babylon.js场景加载器(Scene Loader)使用指南

在3D开发中&#xff0c;Babylon.js的场景加载器(Scene Loader)是加载各种3D模型格式的核心工具。本文将详细介绍如何高效使用Scene Loader加载多种格式的3D模型文件。 一、基本概念与支持格式 要加载特定类型的文件&#xff0c;Babylon.js需要先注册对应的文件类型插件。目前…

编程学习网站大全(C++/OpenCV/QT方向)—— 资源导航与深度评测

工欲善其事&#xff0c;必先利其器 本文系统整理了C、OpenCV、QT三大方向的优质学习网站&#xff0c;结合技术特点与平台优势&#xff0c;助你精准选择学习资源&#xff0c;少走弯路&#xff01; 一、C 学习网站精选 &#x1f4da; 1. cppreference.com 权威性最高&#xff1a…

逆向入门(5)程序逆向篇-AD_CM#2

打开程序 常规注册界面&#xff0c;打开OD&#xff0c;随便找找就看到关键字了 没有壳逻辑也挺简单的 获取输入框&#xff0c;用5比较输入内容的长度&#xff0c;小于则跳转提示密码长度不够 否则就进入下一个流程&#xff0c;去获取序列号&#xff0c;其实可以直接将jnz换…