nginx 配置实例-反向代理

反向代理实例一 

虚拟机IP:192.168.116.129
实现效果:使用 nginx 反向代理,访问 www.123.com 直接跳转到 虚拟机的192.168.116.129:8080 css

实验代码 

1) 启动一个 tomcat,浏览器地址栏输入 192.168.116.129:8080,出现以下界面 html

2) 经过修改本地 host 文件,将 www.123.com 映射到192.168.116.129nginx

配置完成以后,咱们即可以经过 www.123.com:8080 访问到第一步出现的 Tomcat 初始界 面。那么如何只须要输入 www.123.com 即可以跳转到 Tomcat 初始界面呢?便用到 nginx 的反向代理。正则表达式

3) 在 nginx.conf 配置文件中增长以下配置 

注意:修改配置文件后,须要重启nginx浏览器

如上配置,咱们监听 80 端口,访问域名为 www.123.com,不加端口号时默认为 80 端口,故 访问该域名时会跳转到 127.0.0.1:8080 路径上。在浏览器端输入 www.123.com 结果以下:
 tomcat

反向代理实例二 

虚拟机ip:192.168.116.129bash

实现效果:使用 nginx 反向代理,根据访问的路径跳转到不一样端口的服务中 nginx 监听端口为 9001,服务器

访问 http://192.168.116.129:9001/edu/ 直接跳转到 192.168.116.129.0.0.1:8080 测试

访问 http://192.168.116.129:9001/vod/ 直接跳转到 192.168.116.129:8082 spa

 

实验代码 


一、准备工做

(1)准备两个 tomcat 服务器,一个 8080 端口,一个 8082 端口

(2)建立文件夹和测试页面 

二、具体配

修改 nginx 的配置文件

在 http 块中添加 server{} 

   
   
   
   
  1. server{
  2. listen 9001;
  3. server_name localhost;
  4. location ~ /edu/ {
  5. proxy_pass http://localhost:8080;
  6. }
  7. location ~ /dev/ {
  8. proxy_pass http://localhost:8082;
  9. }
  10. }

重启

 

location 指令说明 

语法以下:

  •  一、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,若是匹配 成功,就中止继续向下搜索并当即处理该请求。 
  •   二、~:用于表示 uri 包含正则表达式,而且区分大小写。 
  •   三、~*:用于表示 uri 包含正则表达式,而且不区分大小写。 
  •   四、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,当即使用此 location 处理请求,而再也不使用 location 块中的正则 uri 和请求字符串作匹配。 
  •   注意:若是 uri 包含正则表达式,则必需要有 ~ 或者 ~* 标识。 

我改了一行配置,会实现下面修改。

有兴趣的朋友能够试试(猜猜我改的那个地方)

相关文章
相关标签/搜索