注:以下所有 container_name:port
字段指带容器名以及其端口。
代理容器嘛,简单!对于一般网上找到的资料来说就下面这几行代码:
location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://container_name:port; }
但是往往自己的配置还会再加上一些规则,比如针对特定类型的文件:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; }
那么这时候这些后缀的文件就 404 跑不掉啦~ 解决办法就是都加上 proxy_pass 字段,像这样:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { proxy_pass http://container_name:port; expires 30d; access_log off; } location ~ .*\.(js|css)?$ { proxy_pass http://container_name:port; expires 7d; access_log off; }
道理也很简单,都是路径匹配,一个代理了,其他怎么能不代理呢,不代理自然就找不到相关的资源路径了就会发生404。
以上。
本站由以下主机服务商提供服务支持:
0条评论