首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >利用Caddy替代nginx提供web服务

利用Caddy替代nginx提供web服务

作者头像
IT不难
发布于 2024-12-23 01:11:39
发布于 2024-12-23 01:11:39
24000
代码可运行
举报
文章被收录于专栏:IT不难技术家园IT不难技术家园
运行总次数:0
代码可运行

前言

发现了一款新的web服务器Caddy,看介绍使用和配置都非常简单就尝试一下。

l4zdv65c.png
l4zdv65c.png

部署

系统直接安装

基于AlmaLinux9版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy

docker方式安装

参考: docker和docker-compose一键安装脚本

docker-compose.yml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: "3.8"

services:
  caddy:
    image: caddy:latest
    restart: always
    ports:
      - '80:80'
      - '443:443'
    environment:
      - 'SET_CONTAINER_TIMEZONE=true'
      - 'TZ=Asia/Shanghai'
    volumes:
      - ./conf:/etc/caddy
      - /opt/www/dl:/opt/www/dl
      - /var/log/caddy:/opt/logs
    networks:
      - caddy_net

networks:
  caddy_net:

Caddyfile配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:801 {
  encode zstd gzip
  root * /opt/res
  file_server {
      browse
  }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
webzhan.xyz {
  tls admin@webzhan.xyz
  encode gzip
  log {
      output file  /opt/logs/access.log
  }
  header / {
      Strict-Transport-Security "max-age=31536000;includeSubdomains;preload"
  }

  ## HTTP 代理配置
  reverse_proxy  fmail:3000
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
v.webzhan.xyz {
  tls admin@webzhan.xyz
  encode gzip
  log {
      output file  /opt/logs/v_access.log
  }

  reverse_proxy 172.23.0.1:81

  file_server

  handle_errors {
      root * /etc/caddy/error
      rewrite * /error.html
      templates
      file_server
  }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
v.webzhan.xyz {
  root * /www/web/v/
  tls admin@webzhan.xyz
  encode gzip
  log {
      output file  /opt/logs/v_access.log
  }

  php_fastcgi php:9000 {
     split .php
     index index.php
  }

  file_server

  handle_errors {
      root * /opt/caddy/error
      rewrite * /error.html
      templates
      file_server
  }
}

使用场景

反向代理wordpress

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w.webzhan.xyz:80 {
  #tls admin@webzhan.xyz
  #header / {
  #    Strict-Transport-Security "max-age=31536000;includeSubdomains;preload"
  #}

  encode gzip
  log {
      output file  /opt/logs/w.log
  }
  ## HTTP 代理配置, ttrss服务IP地址+端口
  reverse_proxy  web:81 {
    header_up Host {host}
        header_up X-Real-IP {remote}
        header_up X-Forwarded-For {remote}
    header_up X-Forwarded-Port {server_port}
        header_up X-Forwarded-Proto  {scheme}
  }
}

chrome浏览器清理https自动跳转

  • 浏览器地址栏输入 "chrome://net-internals/#hsts"
  • 通过 "Domain Security Policy"删除即可
lcqadpe1.png
lcqadpe1.png

直接使用caddy+php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w.webzhan.xyz {
  tls admin@webzhan.xyz
  encode gzip
  root * /www/web/wp
  log {
      output file  /opt/logs/w.log
  }
  php_fastcgi php:9000 {
     # some php_fastcgi-specific subdirectives
     split .php
     index index.php
  }
  file_server
}

特殊目录设置访问密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker exec -it vlive_caddy_1 sh
caddy hash-password
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
v.webzhan.xyz {
  tls admin@webzhan.xyz
  encode gzip
  root * /www/web/v
  log {
      output file  /opt/logs/v.log
  }
  #header / {
  #    Strict-Transport-Security "max-age=31536000;includeSubdomains;preload"
  #}

  ### HTTP 代理配置
  #reverse_proxy  web:80
  php_fastcgi php:9000 {
     # some php_fastcgi-specific subdirectives
     split .php
     index index.php
  }
  file_server

  #错误处理
  handle_errors {
      root * /www/web/err
      rewrite * /error.html
      templates
      file_server
  }

  #访问认证
  basicauth /p/* {
      vlive  $2a$14$DIjtbTxbUSZHfHJUrjuU9.45SlrcwICIXNVSwVxehsnHhTXBBNNsi
  }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年06月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【玩转Lighthouse】使用Caddy搭建轻量的Web服务器
一个简单,轻量,且对新手友好的web服务器,甚至可以自动帮你部署SSL证书,对于新手来说相对友好。
Im小泽
2022/04/12
2.2K0
新客户端IP一键过白功能开发与配置
IT不难
2024/08/22
1420
新客户端IP一键过白功能开发与配置
CentOS 8 安装 Caddy Web服务器
在本文中,将在 CentOS 8 中安装 Caddy Web 服务器并在 Caddy 上配置 HTTP网站。 Caddy有一下功能:
用户9236362
2021/11/30
1.3K0
CentOS 8 安装 Caddy Web服务器
在本文中,将在 CentOS 8 中安装 Caddy Web 服务器并在 Caddy 上配置 HTTP网站。 Caddy有一下功能:
用户7639835
2021/09/01
1.2K0
超越 Nginx!号称下一代 Web 服务器,用起来够优雅!
Caddy是一款功能强大,扩展性高的Web服务器,目前在Github上已有38K+Star。Caddy采用Go语言编写,可用于静态资源托管和反向代理。
macrozheng
2022/04/12
8600
超越 Nginx!号称下一代 Web 服务器,用起来够优雅!
如何在PHP中使用 Caddy2 协同服务
Caddy Server 是一个模块化的现代Web服务器平台,支持自动HTTPS证书,QUIC和HTTP/2,Zstd和Brotli压缩,以及各种现代功能以及经典的Web服务器功能,如可配置的虚拟主机,URL重写和重定向,反向复制等。
Tinywan
2024/02/21
5500
如何在PHP中使用 Caddy2 协同服务
使用 Caddy 启动快速可靠的 C2 重定向器。
Caddy 是一个开源网络服务器,专门为易于使用和安全而创建。它是用 go 编写的,几乎可以在每个平台上运行。
Khan安全团队
2022/03/28
1.8K0
Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
摘要 🐅 猫头虎博主在此!随着 Web 服务器的发展,选择合适的服务器变得越来越重要。您是否听说过 Caddy,那个自动支持 HTTPS 的 Web 服务器?或者您是否在考虑使用 Nginx 和 Apache?本篇文章将深入探讨 Caddy,并与 Nginx 和 Apache 进行比较。如果您正在研究 Web 服务器或 搜索 “Caddy 与 Nginx 和 Apache 的对比”,那么这篇文章正是您需要的!
猫头虎
2024/04/09
7K0
Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
使用 Caddy 替代 Nginx
Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx。相较于 Nginx 来说,Caddy 的配置简单了很多,而且默认启用了 https,更加的安全。
EmoryHuang
2022/10/31
2.7K0
使用 Caddy 替代 Nginx
Caddy VS Nginx,谁领风骚
盘古开发框架 缺省使用 Caddy 来提供 WebServer 能力和 API 网关角色(反向代理)。(当然,直接换成 Nginx 也是可以的)
码农大熊
2022/05/10
8310
Caddy VS Nginx,谁领风骚
Caddy 2 的安装与配置
Caddy是一个Go编写的Web服务器,类似于Nginx,Caddy提供了更加强大的功能,相较于Nginx来说使用Caddy有如下优势:
BinGo_Blog
2022/11/01
5.5K0
一个比 Nginx 功能更强大的 Web 服务器
Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx,Caddy 提供了更加强大的功能,随着 v2 版本发布 Caddy 已经可以作为中小型站点 Web 服务器的另一个选择;相较于 Nginx 来说使用 Caddy 的优势如下:
民工哥
2021/02/23
1.7K0
一个比 Nginx 功能更强大的 Web 服务器
Docker 部署 Nextcloud LADP 四件套
GitHub:https://github.com/XRSec/docker-nextcloud.git
XRSec
2022/02/11
1K0
Docker 部署 Nextcloud LADP 四件套
使用docker部署caddy暨buildx编译多架构镜像
由于 caddy 使用了 cf 的 dns 插件,更新的时候比较麻烦,所以想着使用 docker 来部署,自己只需要 build 最新的 caddy 镜像就可以了。
tanmx
2023/10/18
1.3K0
Docker/Rancher2安装部署Caddy2
官网:https://caddyserver.com/docs/ 中文教程网站:https://caddy2.dengxiaolong.com/docs/ Github地址:https://github.com/caddyserver/caddy
4xx.me
2022/11/28
1.5K0
Docker/Rancher2安装部署Caddy2
使用 Nextcloud 3分钟搭建个人网盘
Nextcloud 优点 完全开源 支持web界面、手机ios系统、手机安卓系统 容器化部署 准备环境 部署 docker、docker-compose (本文不讲docker、docker-compose部署) 部署 Nextcloud # 创建 nextcloud 目录 $ mkdir -p /data/nextcloud $ cd /data/nextcloud # 创建数据存储目录 $ mkdir db nextcloud-data nginx-config redis-data # 创建 ne
YP小站
2020/11/03
2.3K0
使用 Nextcloud 3分钟搭建个人网盘
Go每日一库之131:caddy(轻量web服务器)
一直以来,我都是使用 Nginx 作为 Web 服务器,但是配置可以说是非常麻烦了。每次我要新开一个域名,都要先使用 acme.sh 签发 SSL 证书,然后再写配置,大概要花上 5 分钟的时间。曾经想过写个脚本自动完成这些工作,但是苦于对 Linux 的了解不多,也就作罢了。 最近看到了 Caddy,一个用 Go 写的 Web 服务器,它的配置简洁,同时能自动开启 HTTPS、支持 HTTP/2 && QUIC,完全符合我的需求啊,研究一番,就在我的服务器部署了,本文作一个简单记录。 我的操作系统是 Debian Jessie ,理论上只要是带有 Systemd 的系统都适用本文。
luckpunk
2023/09/30
6850
CentOS 7使用Nginx+MariaDB+PHP安装Nextcloud 13
在这篇文章中,我将向你展示如何在 CentOS 7 服务器中安装和配置最新版本的 Nextcloud 13。我会通过 Nginx 和 PHP7-FPM 来运行 Nextcloud,同时使用 MariaDB 做为数据库系统。
星哥玩云
2022/07/14
1.7K0
Caddy的简单用法
陳斯托洛夫斯記
2024/08/07
4710
基于 Caddy 部署盘古 Admin 实现流量网关
本文以部署盘古 Admin 在线演示系统为例讲解如何基于 Caddy 部署盘古 Admin 的静态资源和 Web 节点(业务网关)。
码农大熊
2022/12/19
7960
基于 Caddy 部署盘古 Admin 实现流量网关
相关推荐
【玩转Lighthouse】使用Caddy搭建轻量的Web服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档