Nginx常用配置,开箱即用

经常遇到Nginx安装和配置的问题。这里笔者将常用配置统统写在下面,方便咱们日常使用。这里本着开箱即用的原则,所以大多数时候不会解释为什么要这样去配置,也不涉及Nginx的安装步骤。下面的所有配置,都可以直接复制后粘贴使用,只要改改ip地址或者端口就可以了。

案例一

nginx作为静态文件服务器、图片服务器使用

server {listen 80;server_name abc.com;location / {root /home/appadmin/www/images;index index.html;}
} 

案例二

反向代理后端的8080端口到nginx 80 端口

 server {listen 80;server_name abc.com;location / {proxy_pass http://localhost:8080/;index index.html;}
}

案例三

反向代理后获取不到客户访问的ip或一些header信息,就用下面的配置

server {listen 80;server_name abc.com;location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Real-PORT $remote_port;proxy_set_header host $host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;index index.html;}
}

案例四

反向代理,并配置https

server {listen 443 ssl;server_name abc.com;ssl_certificate /ssl/abc.pem; # 这里可以是pem或者crt文件ssl_certificate_key /ssl/abc.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Real-PORT $remote_port;proxy_set_header host $host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}
}

案例五

将http强制跳转到https,也就是用户访问80端口的时候,自动跳转到443

server {listen 80;server_name abc.com;return 301 https://$host$request_uri;
}

案例六

是案例五的另外一种实现方法

server {listen 80;server_name abc.com;location / {rewrite ^(.*)$ https://abc.com$1 permanent;}
}

案例七

www跳转到不带www的域名上

server {listen 80;server_name abc.com www.abc.com;if ( $host = 'www.abc.com' ) {rewrite ^/(.*)$ http://abc.com/$1 permanent;}
}

案例八

负载均衡。策略有好几种,这里只配置ip_hash

http {upstream my-server {ip_hash; server    localhost:8080 weight=1;server    localhost:8081 weight=2;}server {listen       80;server_name  localhost;location / {proxy_pass http://my-server;proxy_redirect default;}}
}

案例九

TCP反向代理。Nginx默认是不支持TCP代理的,要支持TCP代理,在安装Nginx的时候要开启 stream模块。就是在编译的时候添加--with-stream参数。

以代理本机的SSH为例。

stream {upstream backend {server 127.0.0.1:22;}server {listen 2222;proxy_connect_timeout 1s;proxy_timeout 1h;proxy_pass backend;}
}

需要留一个一个参数proxy_timeout,这个是代理超时的意思,建议设置大一点,当你设置为几秒的时候,你连接上去很快就会掉线。

案例十

websocket代理

location /ws {proxy_pass http://localhost:8080/websocket;proxy_http_version 1.1;proxy_set_header Upgrade $$http_upgrade; # 必须参数proxy_set_header Connection "Upgrade"; # 必须参数proxy_set_header X-Real-IP $$remote_addr;
}

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

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

相关文章

PTA L2-045 堆宝塔 (25 分)

堆宝塔游戏是让小朋友根据抓到的彩虹圈的直径大小,按照从大到小的顺序堆起宝塔。但彩虹圈不一定是按照直径的大小顺序抓到的。聪明宝宝采取的策略如下: 首先准备两根柱子,一根 A 柱串宝塔,一根 B 柱用于临时叠放。把第 1 块彩虹圈…

2024第二十一届五一数学建模A题思路 五一杯建模思路

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

Linux系统的引导过程与服务控制

目录 一、Linux操作系统引导过程 二、Linux系统服务控制 系统初始化进程 三、运行级别切换 *运行级别及切换 Linux系统的运行级别 四、优化开机自动加载服务 五、修复MBR扇区故障 一、Linux操作系统引导过程 主要步骤 开机自检: 检测硬件设备&#…

winform入门篇 第13章 菜单栏

菜单栏 本章内容 菜单栏 工具栏 右键菜单 重点是右键菜单的实现。 菜单栏 MenuStrip,支持可视化编辑 添加 MenuStrip 添加菜单、菜单项、分隔线给菜单项设置属性 —Name 字段名,Text 文本显示,Image:图标 给菜单项添加事件处理(双击即可) 1.添加菜单…

数据库(MYSQL):SQL分类之DDL详解

1.SQL简介 1.SOL通用语法 1.SQL语句可以单行或多行书写,以分号结尾。 2.SQL语句可以使用空格/缩进来增强语句的可读性。 3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写, 4.注释: 单行注释…

在属性值中使用 JavaScript 表达式进行运算

在 Vue 模板中,属性值通常被解析为字符串。如果你想要在属性值中使用 JavaScript 表达式进行运算,可以使用冒号 : 将属性值声明为 JavaScript 表达式。这样,Vue 就会将属性值解析为 JavaScript 表达式,并且计算其结果,…

C# linq 根据多字段动态Group by

实现类&#xff1a; public static class LinqHepler {/// <summary>/// 根据单个字段动态Group/// </summary>/// <typeparam name"T"></typeparam>/// <param name"source"></param>/// <param name"prop…

Mysql 事物阻塞

1、查看现有事物&#xff08;锁&#xff09;&#xff0c;批量生成 kill 命令 select CONCAT(kill , trx_mysql_thread_id, ;) as kill_command, a.* from information_schema.innodb_trx as a -- where trx_query is null 2、查看指定数据库的线程&#xff0c;及其对应的事…

OSPF的P2P和Broadcast

OSPF为什么会有P2P和BROADCAST两种类型 OSPF&#xff08;开放最短路径优先&#xff09;协议中存在P2P&#xff08;点对点&#xff09;和BROADCAST&#xff08;广播多路访问&#xff09;两种网络类型&#xff0c;主要是为了适应不同类型的网络环境和需求。具体分析如下&#xf…

Jmeter 压测-Jprofiler定位接口相应时间长

1、环境准备 执行压测脚本&#xff0c;分析该接口tps很低&#xff0c;响应时间很长 高频接口在100ms以内&#xff0c;普通接口在200ms以内 2、JProfiler分析响应时间长的方法 ①JProfiler录制数据 压测脚本&#xff0c;执行1-3分钟即可 ②分析接口相应时间长的方法 通过Me…

Python 12306抢票脚本

请注意&#xff0c;编写或使用抢票脚本可能违反相关网站的服务条款和法律法规。以下内容仅供学习和了解技术原理之用&#xff0c;不鼓励或支持任何违反规定的行为。 Python 12306抢票脚本通常涉及以下几个步骤&#xff1a; 登录&#xff1a;使用Python的requests库模拟登录123…

Louvain算法简介

1. 背景 Louvain算法是一种基于图数据的社区发现算法(community detection)&#xff0c;算法的优化目标为最大化整个数据的模块度&#xff0c;模块度的计算如下&#xff1a; 其中m为图中边的总数量&#xff0c; 表示所有指向节点 i 的连边权重之和。 表示节点 i&#xff0c;j 之…

每日一练 | 华为认证真题练习Day216

1、如果路由器system视图下和BGP视图下都配置了router-id&#xff0c;由于BGP视图优先级高&#xff0c;则BGP使用BGP视图下的router-id A. 对 B. 错 2、关于NSSA的命令描述&#xff0c;错误的是&#xff1a; A. default-route-advertise命令用来将缺省路由通告到普通OSPF区域…

14_SpringMVC

文章目录 MVCSpringMVC与JavaEE对比SpringMVCSpringMVC的核心流程SpringMVC入门案例RequestMapping注解的使用Handler方法的返回值Handler方法的形参keyvalue形式的请求参数Json请求参数 RESTful风格接口静态资源处理FilterHandlerInterceptor异常处理SpringMVC核心流程流程图 …

ElasticSearch倒排索引原理是什么?如何实现?

1、ElasticSearch倒排索引原理是什么&#xff1f; ElasticSearch的倒排索引原理是一种高效的信息检索技术&#xff0c;它允许用户快速搜索文档中的关键字。以下是其原理的详细解释&#xff1a; 1、文档分析&#xff1a;在索引文档之前&#xff0c;ElasticSearch会对文档进行分…

sudo apt install ros-humble-gazebo-*显示网络不可达 Ubuntu20.04使用清华镜像本地安装/更新ros2

问题 sudo apt install ros-humble-gazebo-*显示网络不可达&#xff0c;这是因为sources.list中的镜像源有问题&#xff0c;换成清华源可以解决问题 解决 1 设置Ubuntu镜像源为清华镜像源 1.1 备份source.list文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.ba…

线圈、寄存器、存储区代号、功能码 案例说明

线圈和寄存器 表示数据类型 线圈&#xff1a;表示Boolean数据类型 寄存器&#xff1a;表示非Boolean数据类型&#xff0c;用来暂时存放参与运算的数据和运算结果&#xff0c;具有接收数据、存放数据和输出数据的功能。 ModbusRTU 读输出线圈 存储区代号 0区 功能码 0x01 读输入…

金牌客服的宝藏App——客服宝快捷回复软件

在客户服务领域&#xff0c;时间就是金钱&#xff0c;效率就是生命。作为一名荣获“金牌客服”称号的小编&#xff0c;我深知快捷回复工具对于提升工作效率和客户满意度的重要性。今天&#xff0c;我要向大家推荐一款在客服界小有名气的神器——客服宝聊天助手。这款快捷回复软…

PCG共轭梯度最小二乘相位解包裹-matlab(可直接运行)

phase_unwrap.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 根据Ghiglia和Romero(1994)提出的方法,基于加权和非加权最小二乘法进行相位解包裹 % 链接:https://doi.org/10.1364/JOSAA.11.000107 % 输…

Java 通过 SFTP 和 FTP 访问时相对路径引发的问题汇总

背景 常用的 Java SSH 操作工具包是 jsch &#xff0c;FTP 工具包 commons-net &#xff0c;本文介绍本文总结 Java 程序通过 SFTP 协议和 FTP 协议访问远程文件的过程中&#xff0c;需要注意的路径问题。 本文将解答下面三个问题&#xff1a; FTPClient 获取当前用户根目录…