利用 Caddy 轻松实现反向代理/镜像(支持自签SSL证书)
时间:2017-4-24 18:22 热度:14567° 评论:1 条
Caddy是一个使用 Go语言写的 HTTP Server,开发时间并不长,在性能上或许比不上 Nginx,但是在 上手难度/配置难度 上面简单的不行不行的。
并且 Caddy支持 自动签订Let’s Encrypt SSL证书,什么都不需要你管,只需要提供一个邮箱,剩下的他会自己申请、配置和续约 SSL证书!
本文转载自 逗比根据地 » 利用 Caddy 非常简单的部署 反向代理/镜像(支持自签SSL证书)
官网地址
https://caddyserver.com
部署 Caddy
Caddy 是 Go语言编译好的二进制程序,所以只有一个 Caddy 文件(还需要生成一个配置文件),但是为了管理方便,所以我做了个一键脚本。
wget -N --no-check-certificate https://softs.pw/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
# 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://raw.githubusercontent.com/pipesocks/install/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
配置文件
Caddy的特点之一就是,配置文件非常的简单,继续下面看就知道了。- 服务器IP 反向代理
一次性复制以下全部代码,并粘贴到SSH中执行:
echo ":80 {gzip
proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile
- 域名 反向代理 HTTP
以下所有示例域名为 toyoo.ml ,请注意替换为 自己的域名 !
一次性复制以下全部代码,并粘贴到SSH中执行:
echo "http://toyoo.ml {
gzip
proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile
如果你需要反向代理 HTTPS 协议的网站,比如 https://www.baidu.com ,那么继续看下面步骤。
- 域名 反向代理 HTTPS
一次性复制以下全部代码,并粘贴到SSH中执行:
echo "https://toyoo.ml {
gzip
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
如果你没有 SSL证书和密匙,那么你可以这样做:
下面的 [email protected] 改成你的邮箱,同时需要注意的是,申请 SSL证书前,请务必提前解析好域名记录(解析后最好等一会,以全球生效),否则 Caddy会申请并配置失败!
一次性复制以下全部代码,并粘贴到SSH中执行:
echo "https://toyoo.ml {
gzip
tls [email protected]
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
如果一切正常,那么Caddy会自动帮你申请 SSL证书并配置好,而且会定时续约SSL证书 和 强制 http重定向至https !
上面这两段示例中,只要把 https://www.baidu.com 改成 https://www.google.com ,即可实现反向代理 Google了!
需要注意的是,因为墙会检测关键词,所以请务必使用 HTTPS协议,不要使用 HTTP协议,否则很快就会被墙!
- HTTP重定向为HTTPS
下面的示例代码中,是把 http://toyoo.ml、http://233.toyoo.ml、https://666.toyoo.ml 三个域名都重定向到了 https://toyoo.ml 。
一次性复制以下全部代码,并粘贴到SSH中执行:
echo "http://toyoo.ml ,http://233.toyoo.ml ,https://666.toyoo.ml {
redir https://toyoo.ml{url}
}
https://toyoo.ml {
gzip
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
修改完 Caddy的配置文件后,重启 Caddy即可。
service caddy restart
使用说明
启动:service caddy start停止:service caddy stop
重启:service caddy restart
查看状态:service caddy status
查看Caddy启动日志: tail -f /tmp/caddy.log
Caddy配置文件位置:/usr/local/caddy/Caddyfile
执行以下代码后,会问你是否确定要卸载 Caddy,输入 y 即可。
注意:卸载 Caddy 会把Caddy的所有虚拟主机文件夹和配置文件删除,并且不可恢复!
wget -N --no-check-certificate https://softs.pw/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh uninstall
# 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://raw.githubusercontent.com/pipesocks/install/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh uninstall
其他说明
- 单网站/多网站
最后一句代码都是 }" > /usr/local/caddy/Caddyfile ,也就是清空了 Caddy配置文件,然后再写入了配置信息。
如果你要设置多个网站,那么把最后一句代码改成 }" >> /usr/local/caddy/Caddyfile 即可,注意是把 > 改成 >> ,这样就不会清空原来的配置信息了,而是会把要添加的配置信息加到配置文件最后!
- 网页加密
什么?担心自己做的镜像不小心爆露被滥用?没事,设置一下用户名和密码即可,只需要在上面的示例中加入这行代码:
user指的是 用户名,passwd指的是 用户名密码,设置这个后,访问网页就需要输入用户名和密码来验证了!
修改配置文件后,记得重启 Caddy !
配置示例:
echo "https://toyoo.ml {
gzip
basicauth / user passwd
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
- 记录日志
log /tmp/caddy_1.log
修改配置文件后,记得重启 Caddy !
配置示例:
echo "https://toyoo.ml {
gzip
log /tmp/caddy_1.log
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
echo "https://toyoo.ml {
gzip
log /tmp/caddy_1.log
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
- Caddy启动失败,打开 http://ip 显示的是 It works !
netstat -lntp
# 我们可以通过这个命令查看是不是被其他软件占用了 80 端口。
不过 apache2 会默认开机自启动,如果不需要可以关闭自启动或者卸载 apache2 。
停止 Apache2
service apache2 stop
# 尝试使用上面这个关闭,如果没效果或者提示什么错误无法关闭,那就用下面这个强行关闭进程。
kill -9 $(ps -ef|grep "apache2"|grep -v "grep"|awk '{print $2}')
# 以下代码仅限 Debian/Ubuntu 系统 #
update-rc.d -f apache2 remove
卸载 Apache2
# 以下代码仅限 Debian/Ubuntu 系统 #
apt-get remove --purge apache2
关闭 Apache2后,就可以尝试启动 Caddy ,并试试能不能打开网页。
service caddy start
End、
正文到此结束
捐赠支持:如果觉得这篇文章对您有帮助,请“扫一扫”鼓励作者!
匿名
реализацией рекламных кампаний
для различных клиентов. Рекламное агентство может предлагать следующие услуги:
1. Разработка рекламной стратегии:
анализ аудиитории, определение
целей и задач рекламной кампании, выбор каналов
рекламы и бюджетирование.
2. Создание рекламного контента: разработка рекламных материалов, таких как видеоролики,
баннеры, печатные объявления, тексты для социальных сетей и т.д.
3. Медиапланирование: выбор оптимальных каналов для размещения рекламы, закупка рекламного пространства, мониторинг эффективности кампании.
4. Социальные сети: создание и управление рекламными кампаниями в
социальных сетях, таких как Facebook, Instagram, Twitter и т.д.
5. Оцифровка: преобразование
традиционных рекламных форматов в цифровые, такие как email-рассылка, мобильная реклама и т.д.
6. Анализ и отчетность: отслеживание эффективности рекламной кампании, анализ
результатов, предоставление отчетов клиенту.
Рекламные агентства могут специализироваться на различных областях, таких как:
1. Digital-агентство:专ализируется на цифровой рекламе,
включая поиск, социальные
сети, email-рассылку и т.д.
2. Full-service-агентство: предлагает полный спектр услуг, включая разработку рекламной стратегии, создание контента и медиапланирование.
3. Брендинговое агентство: специализируется на разработке
бренда, включая создание логотипа,
упаковки и т.д.
4. Event-агентство: организует и продвигает мероприятия,
такие как конференции, семинары,
выставки и т.д.
5. PR-агентство: занимается по связям с общественностью, включая общение
с СМИ, кризис-менеджмент и т.д.
Также рекламные агентства могут иметь различные бизнес-модели,
такие как:
1. Фиксированная плата: агентство получает фиксированную плату за свои услуги.
2. Комиссионная плата: агентство
получает комиссию от рекламного бюджета клиента.
3. Результативная плата: агентство
получает плату только в случае достижения определенных результатов, таких как увеличениеconversion rate или дохода.
В целом, рекламное агентство играет
важную роль в развитии бизнеса, помогая компаниям привлекать внимание целевой аудитории и достигать своих маркетинговых целей.
мы предаставляем услуги такие как
продвижение сайта в яндексе в топ
10
мы работаем 24 на 7 обращайтесь поможем по разным вопроса по маркетингу
123