2024-01-07 00:20:28 +08:00

1 line
53 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2"><meta name="theme-color" content="#FFF"><link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png"><link rel="icon" type="image/ico" sizes="32x32" href="/images/favicon.ico"><meta http-equiv="Cache-Control" content="no-transform"><meta http-equiv="Cache-Control" content="no-siteapp"><link rel="alternate" type="application/rss+xml" title="涛声依旧" href="https://hitoli.com/rss.xml"><link rel="alternate" type="application/atom+xml" title="涛声依旧" href="https://hitoli.com/atom.xml"><link rel="alternate" type="application/json" title="涛声依旧" href="https://hitoli.com/feed.json"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Mulish:300,300italic,400,400italic,700,700italic%7CFredericka%20the%20Great:300,300italic,400,400italic,700,700italic%7CNoto%20Serif%20JP:300,300italic,400,400italic,700,700italic%7CNoto%20Serif%20SC:300,300italic,400,400italic,700,700italic%7CInconsolata:300,300italic,400,400italic,700,700italic&display=swap&subset=latin,latin-ext"><link rel="stylesheet" href="/css/app.css?v=0.0.0"><meta name="keywords" content="Nginx,反向代理"><link rel="canonical" href="https://hitoli.com/2022/11/08/Nginx%E9%85%8D%E7%BD%AE-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/"><title>Nginx 配置 - 反向代理 - Nginx - 服务 - Linux | ☆∵∴Hito∴∵★ = 涛声依旧 = 天下事有难易乎?为之,则难者亦易矣</title><meta name="generator" content="Hexo 6.3.0"></head><body itemscope itemtype="http://schema.org/WebPage"><div id="loading"><div class="cat"><div class="body"></div><div class="head"><div class="face"></div></div><div class="foot"><div class="tummy-end"></div><div class="bottom"></div><div class="legs left"></div><div class="legs right"></div></div><div class="paw"><div class="hands left"></div><div class="hands right"></div></div></div></div><div id="container"><header id="header" itemscope itemtype="http://schema.org/WPHeader"><div class="inner"><div id="brand"><div class="pjax"><h1 itemprop="name headline">Nginx 配置 - 反向代理</h1><div class="meta"><span class="item" title="创建时间2022-11-08 10:05:00"><span class="icon"><i class="ic i-calendar"></i> </span><span class="text">发表于</span> <time itemprop="dateCreated datePublished" datetime="2022-11-08T10:05:00+08:00">2022-11-08</time> </span><span class="item" title="本文字数"><span class="icon"><i class="ic i-pen"></i> </span><span class="text">本文字数</span> <span>6k</span> <span class="text"></span> </span><span class="item" title="阅读时长"><span class="icon"><i class="ic i-clock"></i> </span><span class="text">阅读时长</span> <span>5 分钟</span></span></div></div></div><nav id="nav"><div class="inner"><div class="toggle"><div class="lines" aria-label="切换导航栏"><span class="line"></span> <span class="line"></span> <span class="line"></span></div></div><ul class="menu"><li class="item title"><a href="/" rel="start">☆∵∴Hito∴∵★</a></li></ul><ul class="right"><li class="item theme"><i class="ic i-sun"></i></li><li class="item search"><i class="ic i-search"></i></li></ul></div></nav></div><div id="imgs" class="pjax"><ul><li class="item" data-background-image="https://nas.hitoli.com:18014/images/2022/10/29/6833939bly1gicitzannuj20zk0m8b29.jpg"></li><li class="item" data-background-image="https://nas.hitoli.com:18014/images/2022/10/29/6833939bly1giclhtuo6nj20zk0m8ttm.jpg"></li><li class="item" data-background-image="https://nas.hitoli.com:18014/images/2022/10/29/6833939bly1giciryrr3rj20zk0m8nhk.jpg"></li><li class="item" data-background-image="https://nas.hitoli.com:18014/images/2022/10/29/6833939bly1gipexe4oykj20zk0m87ji.jpg"></li><li class="item" data-background-image="https://nas.hitoli.com:18014/images/2022/10/29/6833939bly1giclxp31goj20zk0m8qv5.jpg"></li><li class="item" data-background-image="https://nas.hitoli.com:18014/images/2022/10/29/6833939bly1giclil3m4ej20zk0m8tn8.jpg"></li></ul></div></header><div id="waves"><svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"><defs><path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z"/></defs><g class="parallax"><use xlink:href="#gentle-wave" x="48" y="0"/><use xlink:href="#gentle-wave" x="48" y="3"/><use xlink:href="#gentle-wave" x="48" y="5"/><use xlink:href="#gentle-wave" x="48" y="7"/></g></svg></div><main><div class="inner"><div id="main" class="pjax"><div class="article wrap"><div class="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList"><i class="ic i-home"></i> <span><a href="/">首页</a></span><i class="ic i-angle-right"></i> <span itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a href="/categories/Linux/" itemprop="item" rel="index" title="分类于 Linux"><span itemprop="name">Linux</span></a><meta itemprop="position" content="1"></span><i class="ic i-angle-right"></i> <span itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a href="/categories/Linux/%E6%9C%8D%E5%8A%A1/" itemprop="item" rel="index" title="分类于 服务"><span itemprop="name">服务</span></a><meta itemprop="position" content="2"></span><i class="ic i-angle-right"></i> <span class="current" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a href="/categories/Linux/%E6%9C%8D%E5%8A%A1/Nginx/" itemprop="item" rel="index" title="分类于 Nginx"><span itemprop="name">Nginx</span></a><meta itemprop="position" content="3"></span></div><article itemscope itemtype="http://schema.org/Article" class="post block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="https://hitoli.com/2022/11/08/Nginx%E9%85%8D%E7%BD%AE-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="/images/avatar.jpg"><meta itemprop="name" content="Hito Li"><meta itemprop="description" content="天下事有难易乎?为之,则难者亦易矣, 天生我材必有用"></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="涛声依旧"></span><div class="body md" itemprop="articleBody"><h4 id="引言"><a class="anchor" href="#引言">#</a> 引言</h4><ul><li>所有配置方法和介绍均来至于网络搜索汇总,主要用于方便后期巩固学习。</li></ul><h4 id="何为反向代理"><a class="anchor" href="#何为反向代理">#</a> 何为反向代理</h4><ul><li>在介绍反向代理之前,先来了解一下正向代理。</li></ul><p><span class="blue">正向代理:</span>如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet则需要通过代理服务器来访问这种代理服务就称为正向代理下面是正向代理的原理图。<br><img data-src="https://nas.hitoli.com:18014/images/2022/11/08/991a203be1ec82b36e1f326376617d40.png" alt="991a203be1ec82b36e1f326376617d40.png"><br><span class="blue">反向代理:</span>看下面原理图,就一目了然。其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。<br><img data-src="https://nas.hitoli.com:18014/images/2022/11/08/1c87e386a0ce624a3949bda443cf346d.png" alt="1c87e386a0ce624a3949bda443cf346d.png"></p><blockquote><p>正向代理和反向代理的区别,一句话就是:如果我们客户端自己用,就是正向代理。如果是在服务器用,用户无感知,就是反向代理。</p></blockquote><h4 id="nginx配置文件"><a class="anchor" href="#nginx配置文件">#</a> Nginx 配置文件</h4><ul><li><p>在学习 Nginx 之前,要熟知它的配置文件,毕竟,下面需要做的所有配置(反向代理、负载均衡、动静分离等),都是基于它的配置文件。</p></li><li><p>Nginx 默认的配置文件是在安装目录下的 conf 目录下,后续对 Nginx 的使用基本上都是对此配置文件进行相应的修改。完整的配置文件,可以看一下文章最后。修改过 nginx.conf 配置文件,记得要<span class="label success">✔️重启 Nginx 服务</span>(☆☆☆☆☆)</p></li><li><p>配置文件中有很多 #号,该符号表示注释内容,去掉所有以 #开头的段落精简之后的配置文件内容如下PS其实注释掉的地方都是一些功能的使用代码需要用到的时候取消注释即可</p></li></ul><figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token comment"># 主进程叫 master负责管理子进程子进程叫 worker</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token comment"># worker_processes 配置项表示开启几个业务进程,一般和 cpu 核数有关</span></pre></td></tr><tr><td data-num="3"></td><td><pre>worker_processes 1;</pre></td></tr><tr><td data-num="4"></td><td><pre></pre></td></tr><tr><td data-num="5"></td><td><pre>events <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="6"></td><td><pre> worker_connections 1024;</pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="8"></td><td><pre></pre></td></tr><tr><td data-num="9"></td><td><pre>http <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="10"></td><td><pre> <span class="token comment"># include 表示可以引入其他文件,此处表示引入 http mime 类型</span></pre></td></tr><tr><td data-num="11"></td><td><pre> include mime.types;</pre></td></tr><tr><td data-num="12"></td><td><pre> default_type application/octet<span class="token punctuation">-</span>stream;</pre></td></tr><tr><td data-num="13"></td><td><pre> sendfile on;</pre></td></tr><tr><td data-num="14"></td><td><pre> keepalive_timeout 65;</pre></td></tr><tr><td data-num="15"></td><td><pre></pre></td></tr><tr><td data-num="16"></td><td><pre> <span class="token comment"># 虚拟主机,可以配置多个</span></pre></td></tr><tr><td data-num="17"></td><td><pre> server <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="18"></td><td><pre> listen 80;</pre></td></tr><tr><td data-num="19"></td><td><pre> server_name localhost;</pre></td></tr><tr><td data-num="20"></td><td><pre></pre></td></tr><tr><td data-num="21"></td><td><pre> location / <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="22"></td><td><pre> <span class="token comment"># 路径匹配之后哪个目录下去匹配相应的网页html 是相对路径</span></pre></td></tr><tr><td data-num="23"></td><td><pre> root html;</pre></td></tr><tr><td data-num="24"></td><td><pre> index index.html index.htm;</pre></td></tr><tr><td data-num="25"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="26"></td><td><pre></pre></td></tr><tr><td data-num="27"></td><td><pre> error_page 500 502 503 504 /50x.html;</pre></td></tr><tr><td data-num="28"></td><td><pre> location = /50x.html <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="29"></td><td><pre> root html;</pre></td></tr><tr><td data-num="30"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="31"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="32"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr></table></figure><blockquote><p>去掉注释信息后,可以将 nginx.conf 配置文件分为三部分:</p></blockquote><ol><li>全局块</li></ol><figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre>worker_processes 1;</pre></td></tr></table></figure><ul><li><p>从配置文件开始到 events 块之间的内容,主要会设置一些影响 Nginx 服务器整体运行的配置指令,主要包括:配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。</p></li><li><p>上面这行 worker_processes 配置,是 Nginx 服务器并发处理服务的关键配置,该值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的约束。</p></li></ul><ol start="2"><li>events 块</li></ol><figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre>events <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="2"></td><td><pre> worker_connections 1024;</pre></td></tr><tr><td data-num="3"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr></table></figure><ul><li>events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括:是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 work process 可以同时支持的最大连接数等</li></ul><blockquote><p>上述例子就表示每个 work process 支持的最大连接数为 1024。这部分的配置对 Nginx 的性能影响较大,在实际中应该灵活配置。</p></blockquote><ol start="3"><li>http 块</li></ol><figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre>http <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="2"></td><td><pre> include mime.types;</pre></td></tr><tr><td data-num="3"></td><td><pre> default_type application/octet<span class="token punctuation">-</span>stream;</pre></td></tr><tr><td data-num="4"></td><td><pre> sendfile on;</pre></td></tr><tr><td data-num="5"></td><td><pre> keepalive_timeout 65;</pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre> server <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="8"></td><td><pre> listen 80;</pre></td></tr><tr><td data-num="9"></td><td><pre> server_name localhost;</pre></td></tr><tr><td data-num="10"></td><td><pre></pre></td></tr><tr><td data-num="11"></td><td><pre> location / <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="12"></td><td><pre> root html;</pre></td></tr><tr><td data-num="13"></td><td><pre> index index.html index.htm;</pre></td></tr><tr><td data-num="14"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="15"></td><td><pre></pre></td></tr><tr><td data-num="16"></td><td><pre> error_page 500 502 503 504 /50x.html;</pre></td></tr><tr><td data-num="17"></td><td><pre> location = /50x.html <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="18"></td><td><pre> root html;</pre></td></tr><tr><td data-num="19"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="20"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr></table></figure><ul><li>这部分是 Nginx 服务器配置中最频繁的部分代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。需要注意的是http 块也可以包括 http 全局块、server 块。下面的反向代理、<a href="https://hitoli.com/2022/09/27/nginx%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E9%85%8D%E7%BD%AE/">动静分离、负载均衡</a>都是在这部分中配置</li></ul><p><span class="blue">http 全局块:</span>http 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。</p><p><span class="blue">server 块:</span>这块和虚拟主机有密切关系,从用户角度看,虚拟主机和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。</p><p><span class="blue">location 块:</span>这块的主要作用是:基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string对虚拟主机名称也可以是 IP 别名)之外的字符串(例如 前面的 /uri-string进行匹配对特定的请求进行处理。地址定向、数据缓存和应答控制等功能还有许多第三方模块的配置也在这里进行。</p><div class="note info"><p>每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。(☆☆☆☆☆)</p></div><h4 id="反向代理配置"><a class="anchor" href="#反向代理配置">#</a> 反向代理配置</h4><ol><li>location 配置规则</li></ol><figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre>location <span class="token punctuation">[</span> = <span class="token punctuation">|</span> ~ <span class="token punctuation">|</span> ~* <span class="token punctuation">|</span> ^~ <span class="token punctuation">|</span> @ <span class="token punctuation">]</span> /uri <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="2"></td><td><pre></pre></td></tr><tr><td data-num="3"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="4"></td><td><pre></pre></td></tr><tr><td data-num="5"></td><td><pre>= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。</pre></td></tr><tr><td data-num="6"></td><td><pre>~ :用于表示 uri 包含正则表达式,并且区分大小写。</pre></td></tr><tr><td data-num="7"></td><td><pre>~* :用于表示 uri 包含正则表达式,并且不区分大小写。</pre></td></tr><tr><td data-num="8"></td><td><pre>^~ :用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的location后立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。</pre></td></tr><tr><td data-num="9"></td><td><pre>@ <span class="token punctuation">:</span> "@" 定义一个命名的 location使用在内部定向时例如 error_page</pre></td></tr><tr><td data-num="10"></td><td><pre>/uri :不带任何修饰符,也表示前缀匹配,但是在正则匹配之后,如果没有正则命中,命中最长的规则</pre></td></tr><tr><td data-num="11"></td><td><pre>/ 通用匹配任何未匹配到其它location的请求都会匹配到相当于switch中的default</pre></td></tr></table></figure><p><span class="red">uri 没有 “/” 结尾时</span><ins class="wavy">location /abc/def 可以匹配 /abc/defghi 请求,也可以匹配 /abc/def/ghi 等</ins><br><span class="red">uri 有 “/” 结尾时</span><ins class="dot">location /abc/def/ 不能匹配 /abc/defghi 请求</ins><ins class="wavy">只能匹配 /abc/def/anything 这样的请求</ins>☆☆☆☆☆</p><ol start="2"><li>proxy_pass 配置规则</li></ol><p><span class="red">url 结尾加上了 /</span><ins class="wavy">相当于是绝对路径</ins><ins class="dot">则 Nginx 不会把 location 中匹配的路径部分加入代理 url</ins><br><span class="red">url 结尾不加 /</span><ins class="dot">Nginx 则会把匹配的路径部分加入代理 uri</ins></p><figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token key atrule">情景1</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="2"></td><td><pre>proxy_pass后有/ </pre></td></tr><tr><td data-num="3"></td><td><pre>访问地址http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>8081/WCP.Service/wcp/modeladapter/download/asc.shtml</pre></td></tr><tr><td data-num="4"></td><td><pre>最终代理http<span class="token punctuation">:</span>//10.194.171.7<span class="token punctuation">:</span>13082/modeladapter/download/asc.shtml</pre></td></tr><tr><td data-num="5"></td><td><pre>location /WCP.Service/wcp/modeladapter/download/ <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="6"></td><td><pre> proxy_pass http<span class="token punctuation">:</span>//10.194.171.7<span class="token punctuation">:</span>13082/modeladapter/download/;</pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="8"></td><td><pre>访问地址http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>8081/model/asc.shtml</pre></td></tr><tr><td data-num="9"></td><td><pre>最终代理http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/model/asc.shtml</pre></td></tr><tr><td data-num="10"></td><td><pre>location /model/ <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="11"></td><td><pre> proxy_pass http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/model/;</pre></td></tr><tr><td data-num="12"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="13"></td><td><pre></pre></td></tr><tr><td data-num="14"></td><td><pre><span class="token key atrule">情景2</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="15"></td><td><pre>proxy_pass后有/</pre></td></tr><tr><td data-num="16"></td><td><pre>访问地址http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>8081/model/asc.shtml</pre></td></tr><tr><td data-num="17"></td><td><pre>最终代理http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/asc.shtml</pre></td></tr><tr><td data-num="18"></td><td><pre>location /model/ <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="19"></td><td><pre> proxy_pass http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/;</pre></td></tr><tr><td data-num="20"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="21"></td><td><pre></pre></td></tr><tr><td data-num="22"></td><td><pre>情景3</pre></td></tr><tr><td data-num="23"></td><td><pre>proxy_pass后没有/ </pre></td></tr><tr><td data-num="24"></td><td><pre>访问地址http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>8081/model/asc.shtml</pre></td></tr><tr><td data-num="25"></td><td><pre>最终代理http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/model/asc.shtml</pre></td></tr><tr><td data-num="26"></td><td><pre>location /model/ <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="27"></td><td><pre> proxy_pass http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082;</pre></td></tr><tr><td data-num="28"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="29"></td><td><pre></pre></td></tr><tr><td data-num="30"></td><td><pre>情景4</pre></td></tr><tr><td data-num="31"></td><td><pre>proxy_pass后没有/ </pre></td></tr><tr><td data-num="32"></td><td><pre>访问地址http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>8081/model/asc.shtml</pre></td></tr><tr><td data-num="33"></td><td><pre>最终代理http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/AAAmodel/asc.shtml</pre></td></tr><tr><td data-num="34"></td><td><pre>location /model/ <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="35"></td><td><pre> proxy_pass http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/AAA;</pre></td></tr><tr><td data-num="36"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="37"></td><td><pre></pre></td></tr><tr><td data-num="38"></td><td><pre>情景5</pre></td></tr><tr><td data-num="39"></td><td><pre>proxy_pass后有/</pre></td></tr><tr><td data-num="40"></td><td><pre>访问地址http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>8081/model/asc.shtml</pre></td></tr><tr><td data-num="41"></td><td><pre>最终代理http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/asc.shtml</pre></td></tr><tr><td data-num="42"></td><td><pre>location /model <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="43"></td><td><pre> proxy_pass http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/;</pre></td></tr><tr><td data-num="44"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="45"></td><td><pre></pre></td></tr><tr><td data-num="46"></td><td><pre>情景6</pre></td></tr><tr><td data-num="47"></td><td><pre>proxy_pass后有/</pre></td></tr><tr><td data-num="48"></td><td><pre>访问地址http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>8081/modelBBB/asc.shtml</pre></td></tr><tr><td data-num="49"></td><td><pre>最终代理http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/asc.shtml</pre></td></tr><tr><td data-num="50"></td><td><pre>location /model <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="51"></td><td><pre> proxy_pass http<span class="token punctuation">:</span>//127.0.0.1<span class="token punctuation">:</span>8082/;</pre></td></tr><tr><td data-num="52"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr></table></figure><h4 id="nginx完整配置文件"><a class="anchor" href="#nginx完整配置文件">#</a> Nginx 完整配置文件</h4><figure class="highlight yaml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token comment">#user nobody;</span></pre></td></tr><tr><td data-num="2"></td><td><pre>worker_processes 1;</pre></td></tr><tr><td data-num="3"></td><td><pre></pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token comment">#error_log logs/error.log;</span></pre></td></tr><tr><td data-num="5"></td><td><pre><span class="token comment">#error_log logs/error.log notice;</span></pre></td></tr><tr><td data-num="6"></td><td><pre><span class="token comment">#error_log logs/error.log info;</span></pre></td></tr><tr><td data-num="7"></td><td><pre></pre></td></tr><tr><td data-num="8"></td><td><pre><span class="token comment">#pid logs/nginx.pid;</span></pre></td></tr><tr><td data-num="9"></td><td><pre></pre></td></tr><tr><td data-num="10"></td><td><pre>events <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="11"></td><td><pre> worker_connections 1024;</pre></td></tr><tr><td data-num="12"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="13"></td><td><pre></pre></td></tr><tr><td data-num="14"></td><td><pre>http <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="15"></td><td><pre> include mime.types;</pre></td></tr><tr><td data-num="16"></td><td><pre> default_type application/octet<span class="token punctuation">-</span>stream;</pre></td></tr><tr><td data-num="17"></td><td><pre></pre></td></tr><tr><td data-num="18"></td><td><pre> <span class="token comment">#log_format main '$remote_addr - $remote_user [$time_local] "$request" '</span></pre></td></tr><tr><td data-num="19"></td><td><pre> <span class="token comment"># '$status $body_bytes_sent "$http_referer" '</span></pre></td></tr><tr><td data-num="20"></td><td><pre> <span class="token comment"># '"$http_user_agent" "$http_x_forwarded_for"';</span></pre></td></tr><tr><td data-num="21"></td><td><pre></pre></td></tr><tr><td data-num="22"></td><td><pre> <span class="token comment">#access_log logs/access.log main;</span></pre></td></tr><tr><td data-num="23"></td><td><pre></pre></td></tr><tr><td data-num="24"></td><td><pre> sendfile on;</pre></td></tr><tr><td data-num="25"></td><td><pre> <span class="token comment">#tcp_nopush on;</span></pre></td></tr><tr><td data-num="26"></td><td><pre></pre></td></tr><tr><td data-num="27"></td><td><pre> <span class="token comment">#keepalive_timeout 0;</span></pre></td></tr><tr><td data-num="28"></td><td><pre> keepalive_timeout 65;</pre></td></tr><tr><td data-num="29"></td><td><pre></pre></td></tr><tr><td data-num="30"></td><td><pre> <span class="token comment">#gzip on;</span></pre></td></tr><tr><td data-num="31"></td><td><pre></pre></td></tr><tr><td data-num="32"></td><td><pre> server <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="33"></td><td><pre> listen 80;</pre></td></tr><tr><td data-num="34"></td><td><pre> server_name localhost;</pre></td></tr><tr><td data-num="35"></td><td><pre></pre></td></tr><tr><td data-num="36"></td><td><pre> <span class="token comment">#charset koi8-r;</span></pre></td></tr><tr><td data-num="37"></td><td><pre></pre></td></tr><tr><td data-num="38"></td><td><pre> <span class="token comment">#access_log logs/host.access.log main;</span></pre></td></tr><tr><td data-num="39"></td><td><pre></pre></td></tr><tr><td data-num="40"></td><td><pre> location / <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="41"></td><td><pre> root html;</pre></td></tr><tr><td data-num="42"></td><td><pre> index index.html index.htm;</pre></td></tr><tr><td data-num="43"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="44"></td><td><pre></pre></td></tr><tr><td data-num="45"></td><td><pre> <span class="token comment">#error_page 404 /404.html;</span></pre></td></tr><tr><td data-num="46"></td><td><pre></pre></td></tr><tr><td data-num="47"></td><td><pre> <span class="token comment"># redirect server error pages to the static page /50x.html</span></pre></td></tr><tr><td data-num="48"></td><td><pre> <span class="token comment">#</span></pre></td></tr><tr><td data-num="49"></td><td><pre> error_page 500 502 503 504 /50x.html;</pre></td></tr><tr><td data-num="50"></td><td><pre> location = /50x.html <span class="token punctuation">&#123;</span></pre></td></tr><tr><td data-num="51"></td><td><pre> root html;</pre></td></tr><tr><td data-num="52"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="53"></td><td><pre></pre></td></tr><tr><td data-num="54"></td><td><pre> <span class="token comment"># proxy the PHP scripts to Apache listening on 127.0.0.1:80</span></pre></td></tr><tr><td data-num="55"></td><td><pre> <span class="token comment">#</span></pre></td></tr><tr><td data-num="56"></td><td><pre> <span class="token comment">#location ~ \.php$ &#123;</span></pre></td></tr><tr><td data-num="57"></td><td><pre> <span class="token comment"># proxy_pass http://127.0.0.1;</span></pre></td></tr><tr><td data-num="58"></td><td><pre> <span class="token comment">#&#125;</span></pre></td></tr><tr><td data-num="59"></td><td><pre></pre></td></tr><tr><td data-num="60"></td><td><pre> <span class="token comment"># pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000</span></pre></td></tr><tr><td data-num="61"></td><td><pre> <span class="token comment">#</span></pre></td></tr><tr><td data-num="62"></td><td><pre> <span class="token comment">#location ~ \.php$ &#123;</span></pre></td></tr><tr><td data-num="63"></td><td><pre> <span class="token comment"># root html;</span></pre></td></tr><tr><td data-num="64"></td><td><pre> <span class="token comment"># fastcgi_pass 127.0.0.1:9000;</span></pre></td></tr><tr><td data-num="65"></td><td><pre> <span class="token comment"># fastcgi_index index.php;</span></pre></td></tr><tr><td data-num="66"></td><td><pre> <span class="token comment"># fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;</span></pre></td></tr><tr><td data-num="67"></td><td><pre> <span class="token comment"># include fastcgi_params;</span></pre></td></tr><tr><td data-num="68"></td><td><pre> <span class="token comment">#&#125;</span></pre></td></tr><tr><td data-num="69"></td><td><pre></pre></td></tr><tr><td data-num="70"></td><td><pre> <span class="token comment"># deny access to .htaccess files, if Apache's document root</span></pre></td></tr><tr><td data-num="71"></td><td><pre> <span class="token comment"># concurs with nginx's one</span></pre></td></tr><tr><td data-num="72"></td><td><pre> <span class="token comment">#</span></pre></td></tr><tr><td data-num="73"></td><td><pre> <span class="token comment">#location ~ /\.ht &#123;</span></pre></td></tr><tr><td data-num="74"></td><td><pre> <span class="token comment"># deny all;</span></pre></td></tr><tr><td data-num="75"></td><td><pre> <span class="token comment">#&#125;</span></pre></td></tr><tr><td data-num="76"></td><td><pre> <span class="token punctuation">&#125;</span></pre></td></tr><tr><td data-num="77"></td><td><pre> <span class="token comment"># another virtual host using mix of IP-, name-, and port-based configuration</span></pre></td></tr><tr><td data-num="78"></td><td><pre> <span class="token comment">#</span></pre></td></tr><tr><td data-num="79"></td><td><pre> <span class="token comment">#server &#123;</span></pre></td></tr><tr><td data-num="80"></td><td><pre> <span class="token comment"># listen 8000;</span></pre></td></tr><tr><td data-num="81"></td><td><pre> <span class="token comment"># listen somename:8080;</span></pre></td></tr><tr><td data-num="82"></td><td><pre> <span class="token comment"># server_name somename alias another.alias;</span></pre></td></tr><tr><td data-num="83"></td><td><pre> <span class="token comment"># location / &#123;</span></pre></td></tr><tr><td data-num="84"></td><td><pre> <span class="token comment"># root html;</span></pre></td></tr><tr><td data-num="85"></td><td><pre> <span class="token comment"># index index.html index.htm;</span></pre></td></tr><tr><td data-num="86"></td><td><pre> <span class="token comment"># &#125;</span></pre></td></tr><tr><td data-num="87"></td><td><pre> <span class="token comment">#&#125;</span></pre></td></tr><tr><td data-num="88"></td><td><pre> <span class="token comment"># HTTPS server</span></pre></td></tr><tr><td data-num="89"></td><td><pre> <span class="token comment">#</span></pre></td></tr><tr><td data-num="90"></td><td><pre> <span class="token comment">#server &#123;</span></pre></td></tr><tr><td data-num="91"></td><td><pre> <span class="token comment"># listen 443 ssl;</span></pre></td></tr><tr><td data-num="92"></td><td><pre> <span class="token comment"># server_name localhost;</span></pre></td></tr><tr><td data-num="93"></td><td><pre> <span class="token comment"># ssl_certificate cert.pem;</span></pre></td></tr><tr><td data-num="94"></td><td><pre> <span class="token comment"># ssl_certificate_key cert.key;</span></pre></td></tr><tr><td data-num="95"></td><td><pre></pre></td></tr><tr><td data-num="96"></td><td><pre> <span class="token comment"># ssl_session_cache shared:SSL:1m;</span></pre></td></tr><tr><td data-num="97"></td><td><pre> <span class="token comment"># ssl_session_timeout 5m;</span></pre></td></tr><tr><td data-num="98"></td><td><pre></pre></td></tr><tr><td data-num="99"></td><td><pre> <span class="token comment"># ssl_ciphers HIGH:!aNULL:!MD5;</span></pre></td></tr><tr><td data-num="100"></td><td><pre> <span class="token comment"># ssl_prefer_server_ciphers on;</span></pre></td></tr><tr><td data-num="101"></td><td><pre></pre></td></tr><tr><td data-num="102"></td><td><pre> <span class="token comment"># location / &#123;</span></pre></td></tr><tr><td data-num="103"></td><td><pre> <span class="token comment"># root html;</span></pre></td></tr><tr><td data-num="104"></td><td><pre> <span class="token comment"># index index.html index.htm;</span></pre></td></tr><tr><td data-num="105"></td><td><pre> <span class="token comment"># &#125;</span></pre></td></tr><tr><td data-num="106"></td><td><pre> <span class="token comment">#&#125;</span></pre></td></tr><tr><td data-num="107"></td><td><pre><span class="token punctuation">&#125;</span></pre></td></tr></table></figure><div class="tags"><a href="/tags/Nginx/" rel="tag"><i class="ic i-tag"></i> Nginx</a> <a href="/tags/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/" rel="tag"><i class="ic i-tag"></i> 反向代理</a></div></div><footer><div class="meta"><span class="item"><span class="icon"><i class="ic i-calendar-check"></i> </span><span class="text">更新于</span> <time title="修改时间2023-03-05 13:37:47" itemprop="dateModified" datetime="2023-03-05T13:37:47+08:00">2023-03-05</time> </span><span id="2022/11/08/Nginx配置-反向代理/" class="item leancloud_visitors" data-flag-title="Nginx 配置 - 反向代理" title="阅读次数"><span class="icon"><i class="ic i-eye"></i> </span><span class="text">阅读次数</span> <span class="leancloud-visitors-count"></span> <span class="text"></span></span></div><div class="reward"><button><i class="ic i-heartbeat"></i> 赞赏</button><p>请我喝[茶]~( ̄▽ ̄)~*</p><div id="qr"><div><img data-src="/images/wechatpay.png" alt="Hito Li 微信支付"><p>微信支付</p></div><div><img data-src="/images/alipay.png" alt="Hito Li 支付宝"><p>支付宝</p></div></div></div><div id="copyright"><ul><li class="author"><strong>本文作者: </strong>Hito Li <i class="ic i-at"><em>@</em></i>涛声依旧</li><li class="link"><strong>本文链接:</strong> <a href="https://hitoli.com/2022/11/08/Nginx%E9%85%8D%E7%BD%AE-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/" title="Nginx 配置 - 反向代理">https://hitoli.com/2022/11/08/Nginx配置-反向代理/</a></li><li class="license"><strong>版权声明: </strong>本站所有文章除特别声明外,均采用 <span class="exturl" data-url="aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzQuMC9kZWVkLnpo"><i class="ic i-creative-commons"><em>(CC)</em></i>BY-NC-SA</span> 许可协议。转载请注明出处!</li></ul></div></footer></article></div><div class="post-nav"><div class="item left"><a href="/2022/11/04/%E8%AE%B0%E4%B8%80%E6%AC%A1Vue%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%83%A8%E7%BD%B2/" itemprop="url" rel="prev" data-background-image="https:&#x2F;&#x2F;nas.hitoli.com:18014&#x2F;images&#x2F;2022&#x2F;10&#x2F;29&#x2F;6833939bly1gipeuv80yoj20zk0m8kjl.jpg" title="记一次Vue项目的部署"><span class="type">上一篇</span> <span class="category"><i class="ic i-flag"></i> Vue</span><h3>记一次Vue项目的部署</h3></a></div><div class="item right"><a href="/2022/11/09/Vue%E6%8C%89%E7%8E%AF%E5%A2%83%E8%AE%BE%E7%BD%AE%E7%BC%96%E8%AF%91%E9%A1%B9%E7%9B%AE/" itemprop="url" rel="next" data-background-image="https:&#x2F;&#x2F;nas.hitoli.com:18014&#x2F;images&#x2F;2022&#x2F;10&#x2F;29&#x2F;6833939bly1gicm0fdw5cj20zk0m8hdt.jpg" title="Vue按环境设置编译项目"><span class="type">下一篇</span> <span class="category"><i class="ic i-flag"></i> Vue</span><h3>Vue按环境设置编译项目</h3></a></div></div><div class="wrap" id="comments"></div></div><div id="sidebar"><div class="inner"><div class="panels"><div class="inner"><div class="contents panel pjax" data-title="文章目录"><ol class="toc"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%BC%95%E8%A8%80"><span class="toc-number">1.</span> <span class="toc-text">引言</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%BD%95%E4%B8%BA%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86"><span class="toc-number">2.</span> <span class="toc-text">何为反向代理</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#nginx%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6"><span class="toc-number">3.</span> <span class="toc-text">Nginx 配置文件</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E9%85%8D%E7%BD%AE"><span class="toc-number">4.</span> <span class="toc-text">反向代理配置</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#nginx%E5%AE%8C%E6%95%B4%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6"><span class="toc-number">5.</span> <span class="toc-text">Nginx 完整配置文件</span></a></li></ol></div><div class="related panel pjax" data-title="系列文章"><ul><li><a href="/2022/09/23/%E8%A7%A3%E5%86%B3%E5%9F%9F%E5%90%8Dip%E5%8F%98%E5%8A%A8%E5%90%8E%E9%9C%80%E8%A6%81%E9%87%8D%E5%90%AFnginx%E7%9A%84%E9%97%AE%E9%A2%98/" rel="bookmark" title="解决域名ip变动后需要重启nginx的问题">解决域名ip变动后需要重启nginx的问题</a></li><li><a href="/2022/09/27/nginx%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E9%85%8D%E7%BD%AE/" rel="bookmark" title="nginx负载均衡配置">nginx负载均衡配置</a></li><li><a href="/2022/10/06/Nginx%E9%85%8D%E7%BD%AEiframe%E8%AE%BF%E9%97%AE/" rel="bookmark" title="Nginx配置iframe访问">Nginx配置iframe访问</a></li><li><a href="/2022/10/14/nginx%E5%85%81%E8%AE%B8%E8%B7%A8%E5%9F%9F%E8%8E%B7%E5%8F%96cookies%E6%96%B9%E6%B3%95/" rel="bookmark" title="nginx允许跨域获取cookie的方法">nginx允许跨域获取cookie的方法</a></li><li class="active"><a href="/2022/11/08/Nginx%E9%85%8D%E7%BD%AE-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/" rel="bookmark" title="Nginx配置-反向代理">Nginx配置-反向代理</a></li><li><a href="/2022/11/30/Nginx%E9%85%8D%E7%BD%AEstream%E8%B8%A9%E5%9D%91/" rel="bookmark" title="Nginx配置stream踩坑">Nginx配置stream踩坑</a></li><li><a href="/2022/11/30/Nginx%E5%8A%A8%E6%80%81%E8%A7%A3%E6%9E%90%E5%9F%9F%E5%90%8D%E6%96%B9%E6%A1%88/" rel="bookmark" title="Nginx动态解析域名方案">Nginx动态解析域名方案</a></li><li><a href="/2022/11/30/%E5%B0%86nginx%E6%9B%BF%E6%8D%A2%E4%B8%BAtengine/" rel="bookmark" title="将nginx替换为tengine">将nginx替换为tengine</a></li></ul></div><div class="overview panel" data-title="站点概览"><div class="author" itemprop="author" itemscope itemtype="http://schema.org/Person"><img class="image" itemprop="image" alt="Hito Li" data-src="/images/avatar.jpg"><p class="name" itemprop="name">Hito Li</p><div class="description" itemprop="description">天生我材必有用</div></div><nav class="state"><div class="item posts"><a href="/archives/"><span class="count">54</span> <span class="name">文章</span></a></div><div class="item categories"><a href="/categories/"><span class="count">22</span> <span class="name">分类</span></a></div><div class="item tags"><a href="/tags/"><span class="count">92</span> <span class="name">标签</span></a></div></nav><div class="social"><span class="exturl item weibo" data-url="aHR0cHM6Ly93ZWliby5jb20vdS8xMDYxNDYwNzQ1" title="https:&#x2F;&#x2F;weibo.com&#x2F;u&#x2F;1061460745"><i class="ic i-weibo"></i></span> <span class="exturl item douban" data-url="aHR0cHM6Ly93d3cuZG91YmFuLmNvbS9wZW9wbGUvMjU5Mzc2NTY0" title="https:&#x2F;&#x2F;www.douban.com&#x2F;people&#x2F;259376564"><i class="ic i-douban"></i></span> <span class="exturl item music" data-url="aHR0cHM6Ly9tdXNpYy4xNjMuY29tLyMvdXNlci9ob21lP2lkPTEwNTQ2NzQ2Mw==" title="https:&#x2F;&#x2F;music.163.com&#x2F;#&#x2F;user&#x2F;home?id&#x3D;105467463"><i class="ic i-cloud-music"></i></span> <a href="/about/me" title="about&#x2F;me" class="item about"><i class="ic i-address-card"></i></a></div><ul class="menu"><li class="item"><a href="/" rel="section"><i class="ic i-home"></i>首页</a></li><li class="item"><a href="/about/me" rel="section"><i class="ic i-user"></i>关于</a></li><li class="item dropdown"><a href="javascript:void(0);"><i class="ic i-feather"></i>文章</a><ul class="submenu"><li class="item"><a href="/archives/" rel="section"><i class="ic i-list-alt"></i>归档</a></li><li class="item"><a href="/categories/" rel="section"><i class="ic i-th"></i>分类</a></li><li class="item"><a href="/tags/" rel="section"><i class="ic i-tags"></i>标签</a></li></ul></li><li class="item"><a href="/tools/" rel="section"><i class="ic i-magic"></i>工具</a></li><li class="item"><span class="exturl" data-url="aHR0cHM6Ly93d3cuZm9yZXZlcmJsb2cuY24vZ28uaHRtbA=="><i class="ic i-paper-plane"></i>虫洞</span></li></ul></div></div></div><ul id="quick"><li class="prev pjax"><a href="/2022/11/04/%E8%AE%B0%E4%B8%80%E6%AC%A1Vue%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%83%A8%E7%BD%B2/" rel="prev" title="上一篇"><i class="ic i-chevron-left"></i></a></li><li class="up"><i class="ic i-arrow-up"></i></li><li class="down"><i class="ic i-arrow-down"></i></li><li class="next pjax"><a href="/2022/11/09/Vue%E6%8C%89%E7%8E%AF%E5%A2%83%E8%AE%BE%E7%BD%AE%E7%BC%96%E8%AF%91%E9%A1%B9%E7%9B%AE/" rel="next" title="下一篇"><i class="ic i-chevron-right"></i></a></li><li class="percent"></li></ul></div></div><div class="dimmer"></div></div></main><footer id="footer"><div class="inner"><div class="widgets"><div class="rpost pjax"><h2>随机文章</h2><ul><li class="item"><div class="breadcrumb"><a href="/categories/Linux/" title="分类于 Linux">Linux</a> <i class="ic i-angle-right"></i> <a href="/categories/Linux/%E6%9C%8D%E5%8A%A1/" title="分类于 服务">服务</a> <i class="ic i-angle-right"></i> <a href="/categories/Linux/%E6%9C%8D%E5%8A%A1/Nginx/" title="分类于 Nginx">Nginx</a></div><span><a href="/2022/09/27/nginx%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E9%85%8D%E7%BD%AE/" title="nginx负载均衡配置">nginx负载均衡配置</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/%E6%9E%81%E7%A9%BA%E9%97%B4/" title="分类于 极空间">极空间</a></div><span><a href="/2022/10/27/%E6%9E%81%E7%A9%BA%E9%97%B4web%E7%AB%AFhttps%E7%9B%B4%E8%BF%9Enginx%E9%85%8D%E7%BD%AE/" title="极空间web端https直连nginx配置">极空间web端https直连nginx配置</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/%E5%B7%A5%E4%BD%9C/" title="分类于 工作">工作</a> <i class="ic i-angle-right"></i> <a href="/categories/%E5%B7%A5%E4%BD%9C/%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98/" title="分类于 解决问题">解决问题</a></div><span><a href="/2023/12/02/fastjson%E5%BA%8F%E5%88%97%E5%8C%96%E5%8E%BB%E9%99%A4%E7%A9%BA%E5%AD%97%E7%AC%A6%E4%B8%B2/" title="fastjson序列化去除空字符串属性">fastjson序列化去除空字符串属性</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/%E5%B7%A5%E4%BD%9C/" title="分类于 工作">工作</a> <i class="ic i-angle-right"></i> <a href="/categories/%E5%B7%A5%E4%BD%9C/%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98/" title="分类于 解决问题">解决问题</a></div><span><a href="/2022/11/21/mysql%E6%95%B0%E6%8D%AE%E5%BA%93auto-increment%E8%87%AA%E5%A2%9E%E9%95%BF%E4%B8%8D%E5%8F%98%E7%9A%84%E5%A4%84%E7%90%86%E6%96%B9%E6%B3%95/" title="mysql数据库auto_increment自增长不变的处理方法">mysql数据库auto_increment自增长不变的处理方法</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/%E5%B7%A5%E4%BD%9C/" title="分类于 工作">工作</a> <i class="ic i-angle-right"></i> <a href="/categories/%E5%B7%A5%E4%BD%9C/IDE/" title="分类于 IDE">IDE</a></div><span><a href="/2023/02/18/%E4%BF%AE%E6%94%B9IntellIJ-IDE%E8%83%8C%E6%99%AF%E8%89%B2%E5%92%8C%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F/" title="修改IntellIJ IDE背景色和字体大小">修改IntellIJ IDE背景色和字体大小</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/%E5%B7%A5%E4%BD%9C/" title="分类于 工作">工作</a> <i class="ic i-angle-right"></i> <a href="/categories/%E5%B7%A5%E4%BD%9C/Vue/" title="分类于 Vue">Vue</a></div><span><a href="/2022/11/04/%E8%AE%B0%E4%B8%80%E6%AC%A1Vue%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%83%A8%E7%BD%B2/" title="记一次Vue项目的部署">记一次Vue项目的部署</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/%E6%9E%81%E7%A9%BA%E9%97%B4/" title="分类于 极空间">极空间</a> <i class="ic i-angle-right"></i> <a href="/categories/%E6%9E%81%E7%A9%BA%E9%97%B4/Docker/" title="分类于 Docker">Docker</a> <i class="ic i-angle-right"></i> <a href="/categories/%E6%9E%81%E7%A9%BA%E9%97%B4/Docker/Hexo/" title="分类于 Hexo">Hexo</a></div><span><a href="/2023/07/01/shoka%E4%B8%BB%E9%A2%98%E9%80%9F%E5%BA%A6%E4%BC%98%E5%8C%96-%E6%8B%86%E5%88%86jsdelivr/" title="shoka主题速度优化-拆分jsdelivr">shoka主题速度优化-拆分jsdelivr</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Windows/" title="分类于 Windows">Windows</a> <i class="ic i-angle-right"></i> <a href="/categories/Windows/%E5%B7%A5%E5%85%B7/" title="分类于 工具">工具</a></div><span><a href="/2023/10/28/Windows%E4%B8%8B%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2SpringBoot%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%89%B9%E5%A4%84%E7%90%86/" title="Windows下快速部署SpringBoot项目的批处理">Windows下快速部署SpringBoot项目的批处理</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/%E5%B7%A5%E4%BD%9C/" title="分类于 工作">工作</a> <i class="ic i-angle-right"></i> <a href="/categories/%E5%B7%A5%E4%BD%9C/Highcharts/" title="分类于 Highcharts">Highcharts</a></div><span><a href="/2023/01/10/Highcharts%E7%94%BB%E6%94%B6%E7%9B%8A%E6%A6%82%E8%A7%88/" title="Highcharts画收益概览">Highcharts画收益概览</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Linux/" title="分类于 Linux">Linux</a> <i class="ic i-angle-right"></i> <a href="/categories/Linux/%E6%9C%8D%E5%8A%A1/" title="分类于 服务">服务</a> <i class="ic i-angle-right"></i> <a href="/categories/Linux/%E6%9C%8D%E5%8A%A1/Nginx/" title="分类于 Nginx">Nginx</a></div><span><a href="/2022/09/23/%E8%A7%A3%E5%86%B3%E5%9F%9F%E5%90%8Dip%E5%8F%98%E5%8A%A8%E5%90%8E%E9%9C%80%E8%A6%81%E9%87%8D%E5%90%AFnginx%E7%9A%84%E9%97%AE%E9%A2%98/" title="解决域名ip变动后需要重启nginx的问题">解决域名ip变动后需要重启nginx的问题</a></span></li></ul></div><div><h2>最新评论</h2><ul class="leancloud-recent-comment"></ul></div></div><div class="status"><div class="copyright">&copy; 2010 <span itemprop="copyrightYear">2024</span> <span class="with-love"><i class="ic i-sakura rotate"></i> </span><span class="author" itemprop="copyrightHolder">Hito Li @ ☆∵∴Hito∴∵★</span></div><div class="count"><span class="post-meta-item-icon"><i class="ic i-chart-area"></i> </span><span title="站点总字数">104k 字</span> <span class="post-meta-divider">|</span> <span class="post-meta-item-icon"><i class="ic i-coffee"></i> </span><span title="站点阅读时长">1:35</span></div><div class="powered-by">基于 <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlv">Hexo</span> & Theme.<span class="exturl" data-url="aHR0cHM6Ly9naXRodWIuY29tL2FtZWhpbWUvaGV4by10aGVtZS1zaG9rYQ==">Shoka</span></div></div></div></footer></div><script data-config type="text/javascript">var LOCAL={path:"2022/11/08/Nginx配置-反向代理/",favicon:{show:"´3哎呀呀",hide:"(´Д`)真糟糕!"},search:{placeholder:"文章搜索",empty:"关于 「 ${query} 」,什么也没搜到",stats:"${time} ms 内找到 ${hits} 条结果"},valine:!0,fancybox:!0,copyright:'复制成功,转载请遵守 <i class="ic i-creative-commons"></i>BY-NC-SA 协议。',ignores:[function(e){return e.includes("#")},function(e){return new RegExp(LOCAL.path+"$").test(e)}]}</script><script src="https://nas.hitoli.com:18003/assets/polyfill.js"></script><script src="https://nas.hitoli.com:18003/assets/pace.min.js"></script><script src="https://nas.hitoli.com:18003/assets/pjax.min.js"></script><script src="https://nas.hitoli.com:18003/assets/fetch.umd.js"></script><script src="https://nas.hitoli.com:18003/assets/anime.min.js"></script><script src="https://nas.hitoli.com:18003/assets/algoliasearch-lite.umd.min.js"></script><script src="https://nas.hitoli.com:18003/assets/instantsearch.production.min.js"></script><script src="https://nas.hitoli.com:18003/assets/lozad.min.js"></script><script src="https://nas.hitoli.com:18003/assets/quicklink.umd.min.js"></script><script src="https://nas.hitoli.com:18003/assets/jquery.min.js,jquery.fancybox.min.js,jquery.justifiedGallery.min.js" async></script><script src="https://nas.hitoli.com:18003/assets/MiniValine.min.js"></script><script src="https://nas.hitoli.com:18003/assets/copy-tex.min.js" async></script><script src="https://nas.hitoli.com:18003/assets/frappe-charts.min.iife.js"></script><script src="/js/app.js?v=0.0.0"></script></body></html>