点击上方蓝色“飞雪无情”关注我,设个星标,第一时间看文章
Caddy对于反向代理的支持我们已经介绍的差不多了,这也是我们对于Nginx、Caddy最多的应用之一,也就是把他们当成一个反向代理服务器使用。
除了我们经常见到的反向代理外,还有一类应用也可以通过反向代理来实现,它就是FastCGI,比如我们经常看到的php-fpm,它就是一个用于解释php文件的fastcgi。
对于PHP的支持,Caddy的reverse_proxy完全可以支持,但是配置比较复杂,所以Caddy为了支持PHP,专门为我们提供了php_fastcgi指令,用于配置PHP服务。
php_fastcgi 指令介绍
php_fastcgi [<matcher>] <php-fpm_gateways...> {
root <path>
split <substrings...>
env [<key> <value>]
index <filename>|off
resolve_root_symlink
dial_timeout <duration>
read_timeout <duration>
write_timeout <duration>
<any other reverse_proxy subdirectives...>
}
以上就是php_fastcgi指令的表达式,相比reverse_proxy指令简单了很多。当然,php_fastcgi也支持reverse_proxy的所有子指令,这也间接证明了php_fastcgi的强大。
在大部分情况下,我们只需要配置php_fastcgi指令的配置就可以满足PHP服务的需要,只有特别的,需要单独定制的,才需要使用reverse_proxy的子指令。
好了,下面让我们看下php_fastcgi指令的每个配置都是什么意思,如何使用他们。
php-fpm_gateways…>
:这个不用多做解释了吧,就是后端的php-fpm服务网关,可以是socket的,也可以是http的。root