模仿mod_proxy在Apache中的nginx代理configuration,如何?

我有一个在nginx中的工作configuration,就是这样

server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:8000; proxy_redirect default; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 100m; client_body_buffer_size 128k; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|htm|html)$ { root PATH_TO_STATIC_CONTENT; } 

}

我怎样才能模仿这与Apache? 我尝试了下面的configuration,但静态内容不起作用。

 <VirtualHost *:80> ServerName example.com DocumentRoot PATH_TO_STATIC CONTENT <Location /> ProxyPass http://127.0.0.1:8000 </Location> <LocationMatch SAME_REGEXP_AS_NGINX> ProxyPass ! </LocationMatch> </VirtualHost> 

我如何获得静态内容以与nginx相同的方式提供服务? 或者甚至有可能? 提前致谢

ProxyPass指令的顺序很重要,与nginx不同的是,所有匹配的位置块都被应用,从最小特定到最具体。

换句话说,你需要改变你的方法有点工作。

可能更直接和可读的方法是使用mod_rewrite:

 RewriteRule \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|htm|html)$ - [L] RewriteRule ^/(.*)$ http://127.0.0.1:8000/$1 [P,L]