nginx怎么配置https访问

一、安装nginx

yum  -y install nginx

二、准备证书

申请证书,并将证书上传到/etc/pki/nginx/目录,证书可以在腾讯云等云平台申请

二、配置nginx

user  root;
worker_processes  auto;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;# 开启gzip压缩gzip on;# 不压缩临界值,大于1K的才压缩,一般不用改gzip_min_length 1k;# 压缩缓冲区gzip_buffers 16 64K;# 压缩版本(默认1.1,前端如果是squid2.5请使用1.0)gzip_http_version 1.1;# 压缩级别,1-10,数字越大压缩的越好,时间也越长gzip_comp_level 5;# 进行压缩的文件类型gzip_types text/plain application/x-javascript text/css application/xml application/javascript;# 跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"gzip_vary on;# IE6对Gzip不怎么友好,不给它Gzip了gzip_disable "MSIE [1-6]\.";# 配置 80 端口server {listen       80;# 域名可以有多个,用逗号隔开,把 xxxx 替换成对应域名即可,不许加 http wwwserver_name  xxxxx.com; # HTTP 自动跳转 HTTPSrewrite ^(.*) https://$server_name$1 permanent;charset utf-8;location / {root   /data/pro/front/ruoyi-ui;try_files $uri $uri/ /index.html;index  index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}# 配置 443 端口server {listen  443 default ssl;# 域名可以有多个,用逗号隔开,把 xxxx 替换成对应域名即可,不许加 http wwwserver_name  www.abc.com;charset utf-8;# 配置域名证书ssl_certificate "/etc/pki/nginx/ppgl.online_bundle.crt";ssl_certificate_key "/etc/pki/nginx/ppgl.online.key";# 用于缓存 SSL 会话参数的共享内存区的大小,使用大小单位(例如 10m 表示 10 兆字节)ssl_session_cache  shared:SSL:1m;#  SSL 会话的过期时间 默认5分钟ssl_session_timeout 5m;# SSL/TLS 协议版本,可以指定多个,以空格分开ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;# 指定是否优先使用服务器端加密算法顺序。设置为 on,表示使用服务器端优先的加密算法顺序。默认情况下,该选项为 offssl_prefer_server_ciphers on;# 加密算法的优先顺序ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;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     $scheme;location / {root   /data/pro/front/ruoyi-ui;try_files $uri $uri/ /index.html;index  index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

四、配置转发

 location /server-8090 {proxy_pass  http://10.0.20.10:8090/;}location /server-8091 {proxy_pass  http://10.0.20.10:8091/;}location /server-8092 {proxy_pass  http://10.0.20.10:8092/;}location /server-8093 {proxy_pass  http://10.0.20.10:8093/;}

此时可以使用www.abc.com/server-8090,server-8091访问你的服务了

proxy_pass的使用

假设访问的域名为:www.czs.com

当路径加上/:绝对路径,此时相当于代理到http://www.baidu.com/

location /xxx {proxy_pass http://www.baidu.com/;
}

如果访问http://www.czs.com/xxx/abc就相当于访问http://www.baidu.com/abc


当路径不加/:相对路径,此时相当于代理到http://www.baidu.com/xxx


location /xxx {proxy_pass http://www.baidu.com;
}

如果访问http://www.czs.com/xxx/abc就相当于访问http://www.baidu.com/xxx/abc


当路径加上/xxx/

location /xxx {proxy_pass http://www.baidu.com/AAA/;
}

如果访问http://www.czs.com/xxx/abc就相当于访问http://www.baidu.com/AAA/abc


当路径加上/xxx

location /xxx {proxy_pass http://www.baidu.com/AAA;
}

如果访问http://www.czs.com/xxx/abc就相当于访问http://www.baidu.com/AAAabc


综上所述:

nginx location proxy_pass 后面的url 加与不加/的区别

location:
location 后面的url不加/,location /AAA/BBB可以匹配/AAA/BBBXXX请求,也可以匹配/AAA/BBB/XXX
location 后面的url加了/,location /AAA/BBB/不能匹配/AAA/BBBXXX请求,只能匹配/AAA/BBB/XXX

proxy_pass:
proxy_pass 后面的url加了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走
proxy_pass 后面的url不加/,相当于是相对根路径,则nginx会把location中匹配的路径部分代理走

所以,加上“/”会过滤掉部分接口,通常是不加“/”

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

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

相关文章

关于ffmpeg的安装和编码格式问题

安装 5.1安装 https://blog.csdn.net/JineD/article/details/113528285 3.4.8安装 https://blog.csdn.net/qq_42528520/article/details/120487457 编码格式 ffmpeg能转很多的视频格式,不同的格式对应的版本也不一样。如上述安装5.1和3.4.8都是一样的流程&#xff0…

mysql故障及解决分析

目录 MySQL 单实例故障排查 MySQL 单实例故障排查 (1)故障现象 1 ERROR 2002 (HY000): Cant connect to local MySQL server through socket /data/mysql/mysql.sock (2) 问题分析:以上这种情况一般都是数据…

c# 插值搜索-迭代与递归(Interpolation Search)

给定一个由 n 个均匀分布值 arr[] 组成的排序数组,编写一个函数来搜索数组中的特定元素 x。 线性搜索需要 O(n) 时间找到元素,跳转搜索需要 O(? n) 时间,二分搜索需要 O(log n) 时间。 插值搜索是对实例二分搜索的改进,…

LeetCode 2810.故障键盘:双端队列模拟

【LetMeFly】2810.故障键盘:双端队列模拟 力扣题目链接:https://leetcode.cn/problems/faulty-keyboard/ 你的笔记本键盘存在故障,每当你在上面输入字符 i 时,它会反转你所写的字符串。而输入其他字符则可以正常工作。 给你一个…

前端 - 基础 表单标签 - 表单元素 input - (name Value checked maxlength )属性详解

目录 name 属性 Value 属性 Checked 属性 Maxlength 属性 场景问答 # <input> 标签 除了 type 属性外&#xff0c;还有其他常用属性 >>> name 属性 在上一节 我们遇到的 单选按钮 &#xff0c;为什么 本应该 多选一 结果成了 多选多的问题 就…

# 达梦数据库知识点

达梦数据库知识点 测试数据 -- SYSDBA.TABLE_CLASS_TEST definitionCREATE TABLE SYSDBA.TABLE_CLASS_TEST (ID VARCHAR(100) NOT NULL,NAME VARCHAR(100) NULL,CODE VARCHAR(100) NULL,TITLE VARCHAR(100) NULL,CREATETIME TIMESTAMP NULL,COLUMN1 VARCHAR(100) NULL,COLUMN…

利用甘特图实现精细化项目管控

在项目管理中,通过精细化管控,项目经理能够有效规划、监督和协调各项任务,从而最大限度控制风险,优化资源配置,并确保按时、按质、按量完成项目目标。而在众多项目管理工具中,甘特图无疑是实现精细化项目管控的利器。zz-plan 是一个非常好用的在线甘特图制作工具&#xff0c;一…

Day78:服务攻防-数据库安全RedisCouchDBH2database未授权访问CVE漏洞

目录 前置知识 数据库应用-Redis-未授权访问&CVE漏洞 未授权访问&#xff1a;CNVD-2015-07557 未授权访问-CNVD-2019-21763 未授权访问-沙箱绕过RCE-CVE-2022-0543 数据库应用-Couchdb-未授权越权&CVE漏洞 Couchdb 垂直权限绕过&#xff08;CVE-2017-12635&…

联邦学习是怎么实现的(例子)

学习目标&#xff1a; 更加了解联邦学习 学习内容&#xff1a; 联邦学习的实现涉及多个设备或节点协同训练一个共享的机器学习模型&#xff0c;同时保持各自数据的隐私。 例子 在医疗领域中&#xff0c;不同医疗机构拥有各自的患者数据&#xff0c;但由于隐私保护法规&#…

Composer常见错误以及常用解决办法指南

Composer是一个PHP的依赖管理工具&#xff0c;它允许你声明项目所依赖的库&#xff0c;并在一个命令中安装或更新它们。在使用Composer的过程中&#xff0c;可能会遇到一些常见的错误。以下是一些常见的Composer错误及其常用的解决办法&#xff1a; “Your requirements could …

【操作系统】想要更好的学习计算机,操作系统的知识必不可少!!!

操作系统的概念 导言一、日常生活中的操作系统二、计算机系统层次结构三、操作系统的定义3.1 控制和管理计算机资源3.2 组织、调度计算机的工作与资源的分配3.3 给用户和其他软件提供方便接口与环境3.4 总结 四、操作系统的目标和功能4.1 作为管理者4.1.1 处理机管理4.1.2 存储…

CentOS 使用 Cronie 实现定时任务

CentOS 使用 Cronie 实现定时任务 文章目录 CentOS 使用 Cronie 实现定时任务一、简介二、基本使用1、常用命令2、使用示例第一步&#xff1a;创建脚本/home/create.sh第二步&#xff1a;添加定时任务第三步&#xff1a;重启 cronie 服务额外&#xff1a;查看 cronie 运行状态定…

AI创业领域的十大热门机会

目录 1.自动驾驶汽车&#xff1a; 2.人工智能助手&#xff1a; 3.机器学习解决方案&#xff1a; 4.AI驱动的医疗诊断&#xff1a; 5.机器人技术&#xff1a; 6.虚拟现实和增强现实&#xff1a; 7.金融科技&#xff1a; 8.安全与监控&#xff1a; 9.农业技术&#xff1a…

7.公约移动

7.公约移动 - 蓝桥云课 (lanqiao.cn) 问题描述 小蓝站在一个n行m列的方格图中间&#xff0c;方格图的每一个方格上都标有一个正整数。 如果两个相邻方格(上下左右四个方向相邻)内的数的最大公约数大于1&#xff0c;则可以从其中一个方格移动到另一个方格&#xff0c;当然也可以…

RocketMQ笔记(五)SpringBoot整合RocketMQ批量发送消息

目录 一、简介1.1、特点 二、Maven依赖三、application配置四、批量发送4.1、同步消息4.2、异步消息4.3、顺序消息4.4、关于异步批量发送4.5、结论 五、其他 一、简介 在之前的文章中&#xff0c;我讲过了&#xff0c;同步发送单条消息&#xff0c;异步发送单条消息&#xff0c…

yolov5目标检测可视化界面pyside6源码(无登录版)

一、软件简介&#xff1a; 这是基于yolov5-7.0目标检测实现的的可视化目标检测源码 本套项目没有用户登录的功能&#xff0c;如需用户登录版&#xff0c;看另一篇文章&#xff1a;yolov5pyside6登录用户管理目标检测可视化源码_yolov5用户登入功能-CSDN博客 ①程序中图片和图标…

稳定性生产总结

本期我们来谈下稳定性生产这个话题&#xff0c;稳定性建设目标有两个&#xff1a;降发生、降影响&#xff0c; 在降发生中的措施是做到三点&#xff1a;系统高可用、 高性能、 高质量&#xff0c;三高问题确实是一个很热的话题&#xff0c;里面涉及很多点。 在降影响中要做到…

Windows系统搭建TortoiseSVN客户端并实现无公网IP访问内网服务端

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统&#xff0c;它与Apache Subversion&#xff08;SVN&#xff09;集成在一起&#xff0c;提供了一个用户友好的界面&#xff0c;方便用…

Wheel Controller 3D

Wheel Controller 3D是Unity内置WheelCollider的完整替代品。它允许更真实的车辆行为、完全定制和3D地面检测。 Wheel Controller 3D是Unity内置WheelCollider的完整替代品。它允许更真实的车辆行为、完全定制和3D地面检测。 如果您正在寻找包含Wheel Controller 3D的完整车辆物…

路径规划——搜索算法详解(六):LPA*算法详解与Matlab代码

上文讲解了D*算法&#xff0c;D*算法为在动态环境下进行路径规划的场景提出了可行的解决方案&#xff0c;本文将继续介绍另外一种动态规划路径的方法——Lifelong Planning A*&#xff08;LPA*&#xff09;算法。 该算法可以看作是A*的增量版本&#xff0c;是一种在固定起始点…