利用wget抓取Caddy文档 作者: 灯小笼 时间: 2018-09-03 分类: 工具 评论 一直以为,抓取网站整站,要么需要一个非常牛的工具,要么自己用curl之类写一个。这次想把caddy的英文文档的站点做个镜像的时候,竟然发现可以直接利用wget来实现,还真是小瞧了这个常见的工具了。 wget的参数的详解,网上已经很多了,就不再copy了,有兴趣详细了解的朋友可以参考下面的链接: * * 首先,我想做caddy的doc的镜像的原因是因为经常访问不了,也就是说,不想通过代理才能访问,所以,我需要使用代理的相关命令。因为caddy是https协议,所以我export一个变量https_proxy来作为代理。 - 阅读剩余部分 -
如何平滑重启Caddy 作者: 灯小笼 时间: 2018-09-01 分类: 工具 1 条评论 网站讲究高可用,讲究不间断服务。而对于刚接触caddy的我们而言,修改配置文件是加家常便饭,比如:增加日志监控,增加一个301重定向什么的。那么修改了配置文件,配置文件是否配置正确呢?配置后又该怎么重启呢?如何确保重启过程的不间断服务呢?如果出现服务挂掉该怎么确保服务的自动启动呢?这一系列的疑问,我们今天来一一释怀吧。但是,需要相信的是,caddy作为一个新生代的web服务器软件,这些方面肯定会考虑到的。本文将参考官方的[命令行模式](https://caddyserver.com/docs/cli)文档,为这些问题一一解答。 > ps.关于Caddy的命令行参数,也可以参考我翻译的中文文档:[Caddy命令行参数](/caddy/cn-doc/cli.md) ## 如何检查配置文件正确性 caddy指定配置文件的参数是`-conf`,那么怎么验证配置文件是否正确呢?就像nginx的`-t`参数一样,caddy有`-validate`参数可供使用。看一下官方文档: > -validate > Parse the Caddyfile and exit. If syntactically valid, a message will be printed to stdout and the process log (if any) and will exit with status 0. If not, an error will be returned with a non-zero exit status. 解析Caddyfile并退出,如果句法结构正确,将会通过标准输出打印一条信息,记录日志(如果配置了),最后会退出,退出码为0。否则,会报出相应的错误信息,状态码为非0。 - 阅读剩余部分 -
如何解决Caddy的重定向(redir)和重写(rewrite)的冲突 作者: 灯小笼 时间: 2018-08-31 分类: 工具 评论 网站改版后,很难确保新的网址和旧的网址保持一致,因此总需要写一些重定向规则,确保原来被搜索引擎抓取的页面能重定向到新的URL。对于一个基于typeocho的php类型的网站,重写也总是必要的。在使用nginx服务器的时候,重写和重定向是在一起的,并没有什么歧义产生,但是,到caddy里边,这两个概念是区分开的。更为不好的地方在于,两者并存的时候,会出现意想不到的结果。 比如,最早本站发现有一些老页面的流量过来,但是会进到404页面。 ``` 5 203.208.60.50 - - [26/Aug/2018:20:53:44 +0800] "GET /article/223672015323021312 HTTP/1.1" 404 2057 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" ``` 按照官方说明,在Caddyfile中使用__[redir](https://dengxiaolong.com/caddy/cn-doc/http.redir.html "redir")__命令予以重定向。 ```caddy redir 301 { /article/223672015323021312 /article/2017/06/php-git-http-server.html /article/2017/06/5.html /article/2017/06/php-git-http-server.html } rewrite { to {path} {path}/ / } ``` 重启caddy,但是发现并没有生效,还是和之前效果一样。 - 阅读剩余部分 -