Nginx反向代理静态文件并修改路径方式

 更新时间:2025年03月19日 09:36:59   作者:草明  
这篇文章主要介绍了Nginx反向代理静态文件并修改路径方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Nginx反向代理静态文件并修改路径

Nginx 配置想要将 /a/b/ 的请求代理到本地目录 /abc/ 下的文件。可以在 Nginx 配置中使用 alias 指令来指定一个本地路径作为代理目标。

server {
    listen 8080;

    location / {
        proxy_pass http://192.168.1.100:8080;
    }

    location /a/b/ {
        alias /abc/;
        try_files $uri $uri/ /index.html;
    }
}

解释和注意事项:

  • location /a/b/:这里配置了一个 location 块,用于匹配以 /a/b/ 开头的请求。
  • alias /abc/;:使用 alias 指令指定了本地路径 /abc/ 作为代理目标。当匹配到 /a/b/ 的请求时,Nginx 将会将这些请求映射到本地目录 /abc/
  • try_files $uri $uri/ /index.html;:这里使用了 try_files 指令,用于尝试查找对应的文件。如果请求的文件不存在,则会返回 /index.html

注意:

  • 在使用 alias 指令时,结尾的斜杠 / 是重要的,确保路径设置正确。
  • 需要确保 Nginx 对 /a/b/ 的访问权限和路径配置正确,以及本地目录 /abc/ 中包含所需的静态文件或资源。
  • 配置完成后,重启或重新加载 Nginx,然后尝试访问 /a/b/ 下的资源,它应该会被代理到本地目录 /abc/ 中的对应文件。

Nginx反向代理+路径重写 配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        # 访问方式:http://127.0.0.1/1/ng1/ --> http://127.0.0.1:82 这里和方式二主要区别在于rewrite和proxy_pass的位置。
        location ~ /ng1/ {
            proxy_pass http://127.0.0.1:81;
            rewrite "^/(.*)/ng1\/(.*)$" /$2 break;
        }
        # 访问方式:http://127.0.0.1/1/ng2/ --> http://127.0.0.1:82
        location ~ /ng2/ {
            rewrite "^/(.*)/ng2/(.*)$" /$2 break;
            proxy_pass http://127.0.0.1:82;
            
        }
        # 访问方式:http://127.0.0.1/ng3/ --> http://127.0.0.1:83
        location /ng3/ {
            rewrite ^/ng3/(.*)$ /$1 break;
            proxy_pass http://127.0.0.1:83;
        }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 通过Nginx反向代理实现IP访问分流的示例代码

    通过Nginx反向代理实现IP访问分流的示例代码

    本篇文章主要介绍了通过Nginx反向代理实现IP访问分流的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Nginx Tomcat负载均衡动静分离原理解析

    Nginx Tomcat负载均衡动静分离原理解析

    这篇文章主要为大家介绍了Nginx Tomcat负载均衡动静分离原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 使用Nginx解决跨域访问问题的完整案例

    使用Nginx解决跨域访问问题的完整案例

    在现代的Web开发中,跨域访问是一种常见的需求,由于浏览器的同源策略,不同域名之间的访问存在一定的限制,本文将介绍如何使用Nginx来解决跨域访问的问题,并通过一个完整的实例来展示,需要的朋友可以参考下
    2024-03-03
  • Nginx反向代理后无法获取客户端真实IP地址

    Nginx反向代理后无法获取客户端真实IP地址

    本文主要介绍了Nginx反向代理后无法获取客户端真实IP地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Nginx配置使用详解

    Nginx配置使用详解

    Nginx是一个高性能的HTTP和反向代理web服务器。本文详细讲解了Nginx配置使用的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Nginx之rewrite实现URL重写方式

    Nginx之rewrite实现URL重写方式

    文章介绍了Nginx的rewrite模块,包括其重要性、相关指令(如set、if、break、return、rewrite)的使用方法和作用域,并举例说明了这些指令的实际应用场景,如域名重定向和防盗链处理
    2025-03-03
  • Nginx实现基于请求头的访问控制配置的示例

    Nginx实现基于请求头的访问控制配置的示例

    在Nginx中,可以使用"allow"和"deny"指令来实现IP访问限制,本文给大家介绍Nginx实现基于请求头的访问控制配置,感兴趣的朋友一起看看吧
    2023-11-11
  • Nginx 简介、安装与配置文件详解

    Nginx 简介、安装与配置文件详解

    Nginx是一款轻量级和高性能的 Web 服务器、反向代理服务器、电子邮件(IMAP/POP3/SMTP)代理服务器,是带有 BSD-like 协议的开源产品,这篇文章主要介绍了Nginx 简介、安装与配置文件详解,需要的朋友可以参考下
    2024-04-04
  • Nginx服务器中配置非80端口的端口转发方法详解

    Nginx服务器中配置非80端口的端口转发方法详解

    这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下
    2016-04-04
  • Nginx实现if多重判断配置方法示例

    Nginx实现if多重判断配置方法示例

    这篇文章主要介绍了Nginx实现if多重判断配置方法示例,本文直接给出实现代码,需要的朋友可以参考下
    2015-05-05

最新评论