Nginx https反向代理
接前一篇文章,今天看看https的反向代理怎么配置。
生成自签名证书和私钥
要使用https,首先需要有证书和私钥,这里创建一个测试用的自签名证书和私钥。
使用 openssl 命令生成服务器私钥文件
openssl genrsa -out server.key 2048
生成证书请求
openssl req -new -key server.key -out server.csr
根据私钥和证书请求生成证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
配置反向代理
这里还是使用前一篇文章中使用的python3的 http server 作为后端应用服务。
$ python3 -m http.server 8000
修改 /etc/nginx/nginx.conf 文件,添加反向代理配置
server {listen 443 ssl;server_name localhost;ssl_certificate /etc/nginx/server.crt;ssl_certificate_key /etc/nginx/server.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {proxy_pass http://localhost:8000;proxy_http_version 1.1;proxy_set_header Connection "";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto https;}}
修改后完整的 /etc/nginx/nginx.conf 文件内容如下:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768;
}http {sendfile on;tcp_nopush on;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;ssl_prefer_server_ciphers on;access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;gzip on;server {listen 80;server_name localhost;location / {proxy_pass http://localhost:8000;}}server {listen 443 ssl;server_name localhost;ssl_certificate /etc/nginx/server.crt;ssl_certificate_key /etc/nginx/server.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {proxy_pass http://localhost:8000;proxy_http_version 1.1;proxy_set_header Connection "";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto https;}}include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}
重新启动服务使配置生效
$ sudo service nginx restart
最后通过访问 “https://localhost” 地址检查请求是否被代理到后端的python应用上了。
相关文章:
Nginx https反向代理
接前一篇文章,今天看看https的反向代理怎么配置。 生成自签名证书和私钥 要使用https,首先需要有证书和私钥,这里创建一个测试用的自签名证书和私钥。 使用 openssl 命令生成服务器私钥文件 openssl genrsa -out server.key 2048生成证书…...
zip解压缩
使用unzip库可以轻松解压zip文件,源码下载地址:http://www.codeproject.com/Articles/7530/Zip-Utils-clean-elegant-simple-C-Win #include <Windows.h> #include"unzip.h" SetCurrentDirectory("c:\\"); HZIP hz OpenZip(…...
电动五金工具行业调研:政策促进市场发展
五金工具可以分为建筑五金、日用五金和家居五金等,科技的不断进步下五金工具产品也在逐渐创新进步。在国家一系列政策下五金工具行业更加规范化,使用也更加符合安全要求。 五金工具行业是指生产铁锤、螺丝刀、扳手、钳子、卷尺等小型工具的产业。这些工具…...
【矩阵】托普利茨矩阵
每日一道算法题之托普利茨矩阵 一、题目描述二、思路三、C代码 一、题目描述 题目来源:LeetCode 给你一个 m x n 的矩阵 a 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。 如果矩阵上每一条由左上到右下的对角线上…...
DS:八大排序之归并排序、计数排序
创作不易,感谢三连支持!! 一、归并排序 1.1 思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子…...
由斐波那契数列探究递推与递归
斐波那契数列定义: 斐波那契数列大家都非常熟悉。它的定义是: 对于给定的整数 x ,我们希望求出: f ( 1 ) f ( 2 ) … f ( x ) f(1)f(2)…f(x) f(1)f(2)…f(x) 的值。 有两种方法,分别是递推(迭代)与递归 具体解释如下图 备注…...
红队打靶练习:IMF: 1
目录 信息收集 1、arp 2、nmap 3、nikto 目录探测 gobuster dirsearch WEB 信息收集 get flag1 get flag2 get flag3 SQL注入 漏洞探测 脱库 get flag4 文件上传 反弹shell 提权 get flag5 get flag6 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# a…...
密码管理局以及什么是密评?为什么要做密评(商用密码应用安全性评估)?
文章目录 密码管理局以及什么是密评?为什么要做密评?关于密码管理局国家密码管理局属于什么级别?什么是密评?密评发展史为什么要做密评?目前密码应用的几个问题密评对象不做“密评”或密评不合格有什么影响?如何才能顺利通过密评?密评的相关标准参考密码管理局以及什么是…...
六、Datax通过json字符串运行
Datax通过json字符串运行 一、场景二、代码实现 一、场景 制作一个web应用,在页面上配置一个json字符串,保存在数据库里面。在执行json的时候,动态在本地创建一个json文件后执行,并识别是否成功,将执行过程保存在数据…...
关于数据库
目录 一 什么是数据库(DB) 二 什么是数据库管理系统(DBMS) 三 数据库的作用/好处 一 什么是数据库(DB) 简单理解,数据库是存放数据的地方,就像冰箱是存放冷鲜食品的地方。 数据是数据存储的基本对象,而数据分为多…...
洛谷C++简单题小练习day14—闰年推算小程序
day14--闰年推算小程序--2.18 习题概述 题目描述 输入 x,y,输出 [x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。 输入格式 输入两个正整数 x,y,以空格隔开。 输出格式 第一行输出一个正整数…...
房企关注的典型数字化场景之一:数字营销
过去在增量时代下,房企的模式是“拿地-开发-卖房-拿地”,谁拿的地多、卖得快、利润高,谁“活得好”。而进入存量时代,加上政策调控影响,房企需要将核心竞争力转向精细化、多元化运营。 根据克而瑞数据统计,…...
BMS再进阶(新能源汽车电池管理系统)
引言 一文入门BMS(电池管理系统)_bms电池管理-CSDN博客 BMS进阶(Type-C、PD快充、充电IC、SOC算法、电池管理IC)_充电ic asi aso功能-CSDN博客 本文是上面两篇博客的续篇,之前都是讲解一些BMS基本原理,…...
K8s Deployment挂载ConfigMap权限设置
目录 样例 1. 样例 …… volumes: - configMap:defaultMode: 420name: ${Existed_configmap_name} …… 其中“defaultMode: 420”是设置权限的 2. 解析 在K8s(Kubernetes)中,defaultMode是用来设置Configmap挂载后的文件权限࿰…...
百度智能云分布式数据库 GaiaDB-X 与龙芯平台完成兼容认证
近日,百度智能云的分布式关系型数据库软件 V3.0 与龙芯中科技术股份有限公司的龙芯 3C5000L/3C5000 处理器平台完成兼容性测试,功能与稳定性良好,获得了龙架构兼容互认证证书。 龙芯系列处理器 通用 CPU 处理器是信息产业的基础部件…...
模拟电子技术——振荡器基本原理、RC桥式振荡器、矩形波发生电器
文章目录 前言一、振荡器什么是振荡器振荡器的基本电路结构振荡条件起振条件和稳幅原理 二、RC桥式振荡器什么是RC桥式振荡器RC串并联网络的选频特性振荡条件完整频率特性曲线举例 三、矩形波发生电器什么是矩形波发生电路稳态与暂态PWM脉宽调制矩形波发生电路基本组成 总结 前…...
Vue3+Vite+TS+Pinia+ElementPlus+Router+Axios创建项目
目录 初始项目组成1. 创建项目1.1 下载项目依赖1.2 项目自动启动1.3 src 别名设置vite.config.ts配置文件tsconfig.json配置若新创项目ts提示 1.4 运行测试 2. 清除默认样式2.1 样式清除代码下载2.2 src下创建公共样式文件夹style2.3 main.js中引入样式2.4 安装sass解析插件 2.…...
VMware虚拟机安装CentOS7
对于系统开发来说,开发者时常会需要涉及到不同的操作系统,比如Windows系统、Mac系统、Linux系统、Chrome OS系统、UNIX操作系统等。由于在同一台计算机上安装多个系统会占据我们大量的存储空间,所以虚拟机概念应运而生。本篇将介绍如何下载安…...
Avalonia学习(二十四)-系统界面
目前项目式练习,界面内容偏多,所以不给大家贴代码了,可以留言交流。此次为大家展示的是物联项目的例子,仅仅是学习,我把一些重点列举一下。 界面无边框 以前的样例主要是通过实现控件来完成的,前面已经有窗…...
深入解析鸿蒙系统的页面路由(Router)机制
鸿蒙系统以其独特的分布式架构和跨设备的统一体验而备受瞩目。在这个系统中,页面路由(Router)机制是连接应用各页面的关键组成部分。本文将深入探讨鸿蒙系统的页面路由,揭示其工作原理、特点以及在应用开发中的实际应用。 1. 实现…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
