Rat's

Caddy环境下一些Web应用程序的配置参考
说明:Caddy是一个轻量级的Web服务器,安装和配置很快,博主也喜欢用,以后的使用范围估计会越来越广,而目前就是...
扫描右侧二维码阅读全文
31
2018/07

Caddy环境下一些Web应用程序的配置参考

说明:Caddy是一个轻量级的Web服务器,安装和配置很快,博主也喜欢用,以后的使用范围估计会越来越广,而目前就是一些Web应用程序的配置文件难找,相信很多人都有体会,这里博主就列举常用的一些程序的配置供参考。

配置

以下参数都需要填入配置文件Caddyfile里,且仅作参考。

1、Chevereto图床

example.com {
    root /var/www/chevereto
    fastcgi / /var/run/php/php7.0-fpm.sock php

    rewrite {
        to {path} {path}/ /index.php?{query}
    }
}

2、Nextcloud网盘

my-nextcloud-site.com {

    root   /var/www/nextcloud
    log    /var/log/nextcloud_access.log
    errors /var/log/nextcloud_errors.log

    fastcgi / 127.0.0.1:9000 php {
        env PATH /bin
    }

    header / {
         Strict-Transport-Security       "max-age=15768000;"
    }

    # checks for images
        rewrite {
            ext .svg .gif .png .html .ttf .woff .ico .jpg .jpeg
        r ^/index.php/(.+)$
        to /{1} /index.php?{1}
    }
    
    rewrite {
                r ^/\.well-known/host-meta$
                to /public.php?service=host-meta&{query}
        }
    rewrite {
                r ^/\.well-known/host-meta\.json$
                to /public.php?service=host-meta-json&{query}
        }
    rewrite {
                r ^/\.well-known/webfinger$
                to /public.php?service=webfinger&{query}
        }

    rewrite {
        r ^/index.php/.*$
        to /index.php?{query}
    }

    # client support (e.g. os x calendar / contacts)
    redir /.well-known/carddav /remote.php/carddav 301
    redir /.well-known/caldav /remote.php/caldav 301

    # remove trailing / as it causes errors with php-fpm
    rewrite {
        r ^/remote.php/(webdav|caldav|carddav|dav)(\/?)(\/?)$
        to /remote.php/{1}
    }

    rewrite {
        r ^/remote.php/(webdav|caldav|carddav|dav)/(.+?)(\/?)(\/?)$
        to /remote.php/{1}/{2}
    }

    rewrite {
        r ^/public.php/(dav|webdav|caldav|carddav)(\/?)(\/?)$
        to /public.php/{1}
    }

    rewrite {
        r ^/public.php/(dav|webdav|caldav|carddav)/(.+)(\/?)(\/?)$
        to /public.php/{1}/{2}
    }

    # .htaccess / data / config / ... shouldn't be accessible from outside
    status 403 {
        /.htaccess
        /data
        /config
        /db_structure
        /.xml
        /README
    }

}

3、WordPress博客
配置参考该文章:Caddy环境下WordPress博客伪静态设置

4、Typecho博客
配置参考该文章:小内存VPS安装Caddy+PHP 7+Sqlite 3环境,并快速搭建Typecho博客

暂时只列举这些常用的,如果你需要更多程序的Web配置,可以留言,博主尽量给你提供正确的配置文件。

Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2019 年 08 月 19 日 11 : 59 PM

发表评论

15 条评论

  1. 下午茶

    Nextcloud 的配置在不能完全匹配Nextcloud 16,有很多url都被拦截了。 你那有最新的配置吗,方便的话也公布一下呗,万分感谢!

    1. Rat's
      @下午茶

      更新了下nextcloud的,你再试试,不行我再看看。

      1. 下午茶
        @Rat's

        还是不行,详细信息回您邮箱了。

  2. fish

    hi.
    如何让caddy默认不占用80端口?

    1. Rat's
      @fish

      可以通过修改配置文件就行了,让caddy使用其它端口。

      1. fish
        @Rat's

        具体怎么修改呢?
        谢谢回复

        1. Rat's
          @fish

          你可以看看这个教程:https://www.moerats.com/archives/404/。

          1. fish
            @Rat's

            hi.
            我是利用caddy的那个https功能。
            root@umh:~# cat /root/caddyfile
            mydomain.com:3443 {
            gzip
            log access.log
            forwardproxy
            }
            root@umh:~# lsof -i:80
            COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
            caddy 349 root 6u IPv6 183473 0t0 TCP *:http (LISTEN)
            root@umh:~#

            我的caddyfile里面根本没提及80端口,不知怎么caddy就占用(监听)了80端口。
            如何设置caddyfile,不让caddy监听80端口呢?

            1. Rat's
              @fish

              你先用curl https://getcaddy.com | bash -s personal命令安装Caddy,然后在root文件夹下创建caddyfile配置文件,再使用caddy -conf=/root/caddyfile启动试试,这样貌似不会占用80。

  3. 搬瓦工

    朋友 交换链接吗

    1. Rat's
      @搬瓦工

      目前不要友链了。

  4. 海平面

    Caddy功能好强大呀

    1. Rat's
      @海平面

      只能说Caddy很方便,Nginx才强大。

  5. Kevin

    有没有可以快速搭建好PHP+Nginx之类的软件?不需要MySQL

    1. Rat's
      @Kevin

      这个不需要软件吧,手动编译安装也是很快的,CentOS的我已经水过了,有兴趣搜一下,等我有空水下debian的。