查看“Nginx搭建一个简单的代理服务器”的源代码
←
Nginx搭建一个简单的代理服务器
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
nginx的一个常见用途是将其设置为代理服务器,即接收请求、将请求传递给被代理的服务器、从它们那里获取响应并将其发送给客户端的服务器。 <br> 我们将配置一个基本的代理服务器,它使用本地目录中的文件提供图像请求,并将所有其他请求发送到被代理的服务器。在这个例子中,两个服务器都将在一个单一的nginx实例上定义。 <br> 首先,通过在nginx的配置文件中添加另一个带有以下内容的server块来定义被代理的服务器: <pre>server { listen 8080; root /data/up1; location / { } }</pre> 这将是一个简单服务器,监听端口8080(之前,由于使用了标准端口80,所以没有指定listen指令)并将所有请求映射到本地文件系统的/data/up1目录。创建此目录并将index.html文件放入其中。注意,root指令放在了server上下文中。这样的root指令是在为请求提供服务的location块不包括自己的root指令时使用的。 <br> 接下来,使用前一节的服务器配置,并修改它以使其成为代理服务器配置。在第一个location块中,放置proxy_pass指令,并在参数中指定被代理服务器的协议、名称和端口(在我们的案例中,它是http://localhost:8080): <pre>server { location / { proxy_pass http://localhost:8080; } location /images/ { root /data; } }</pre> <br> 我们将修改第二个location块,该块当前将带有/images/前缀的请求映射到/data/images目录下的文件,以使其匹配具有典型文件扩展名的图像请求。修改后的location块如下所示: <pre>location ~ \.(gif|jpg|png)$ { root /data/images; }</pre> 参数是一个正则表达式,匹配所有以.gif、.jpg或.png结尾的URI。正则表达式应以~开头。相应的请求将被映射到/data/images目录。 <br> 当nginx选择一个location块来服务请求时,它首先检查指定前缀的location指令,记住最长前缀的位置,然后检查正则表达式。如果有与正则表达式匹配的内容,nginx选择这个位置,否则,它选择之前记住的那个。 代理服务器的最终配置将如下所示: <pre>server { location / { proxy_pass http://localhost:8080/; } location ~ \.(gif|jpg|png)$ { root /data/images; } }</pre> 这个服务器将过滤以.gif、.jpg或.png结尾的请求,并将它们映射到/data/images目录(通过将URI添加到root指令的参数),并将所有其他请求传递给上述配置的被代理服务器。 <br> 要应用新的配置,请按照前面章节中描述的方式向nginx发送重新加载信号。 <br> 还有许多其他指令可用于进一步配置代理连接。 <br>
返回至“
Nginx搭建一个简单的代理服务器
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息