Go语言中文网 为您找到相关结果 95

Go实现的HTTP/2 Web服务器Caddy

Caddy 是一个支持 HTTP/2 的跨平台 Web 服务器,使用和配置都非常简单。Caddy 支持 HTTP/2, IPv6, Markdown, WebSockets, FastCGI, 模板等等。 一个 Caddy 配置示例: http://www.oschina.net # Your site's address ext .html # Clean URLs errors { log ../errors.log # Error log 404 error-404.html # Custom error page } fastcgi /blog localhost:9000 php # PHP bac...阅读全文

开源项目 2015-05-29 01:56:28 mholt

Caddy,一个用Go实现的Web Server

Caddy,一个用Go实现的Web Server 六 04 bigwhite技术志 Apache, apache2, caddy, Caddyfile, fastcgi, github, Go, Go1.5, Golang, GopherCon, handler, http, https, loadbalance, middleware, nginx, Opensource, PHP, php-fpm, reverseproxy, webserver, 反向代理, 负载均衡 1 Comment 这是一个Web Server的时代,apache2与nginx共舞,在追求极致性能的路上,没有最高,只有更高。但这又是一个追求个性化的时代,有些Web Server并没有去挤“Performance提...阅读全文

博文 2015-07-14 11:12:44 bigwhite

Go 程序在 macOS 上的打包功能

这篇文章简单地说明了如何在 macOS 上打包一个 Go 的程序,包括引用或者不引用外部资源。作为一个原生的 Cocoa 程序它是可以下载、安装和运行的。开发过程并不需要 XCode,cgo 或者其他特殊的库文件。 在此文章结尾处,你的 Go 程序将会被打包进一个 `.app` 文件,成为一个拖放安装的只读 DMG 文件。这也适用于其他非 Go 语言的程序。 关于这个端到端的解决方案的主题还有其他很多的指导文章,有的讲的比我想要做的内容多很多,有的又是采用不同的方式,而我想呈现给你的是如何将文件打包的过程。 **要求**:你必须要有一个 macOS。此方法不会在 Windows 或者 Linux 上生效。事实上,它也可能生效,但是你必须要手动或者借助某些疯狂的工具来制作和 macOS 相关的...阅读全文

新兴的web服务器caddy

caddy 是一个像 Apache, nginx, 或 lighttpd 的web服务器。你要问nginx已经很好了,为什么要用caddy呢? 我觉得caddy最大的特点是用起来简单,然后呢,它还有下面这些开箱即用的特性: HTTP/2 全自动支持HTTP/2协议,无需任何配置。 Auto HTTPS Caddy 使用 Let's Encrypt 让你的站点全自动变成全站HTTPS,无需任何配置。当然你想使用自己的证书也是可以的。 Multi-core 因为caddy是golang写的,所以当然可以合理使用多核啦。 IPv6 完全支持IPv6环境. WebSockets Caddy 对WebSockets有很好的支持. Markdown 自动把md转成 HTML ,当然,我后续要给大家介绍更...阅读全文

博文 2017-03-16 13:00:48 Muninn

史上最简单的部署HTTPS&QUIC教程

# 前言 - emmm~,今天是9102年儿童节,都9102年了,你的网站还是万年HTTP吗,Chrome已经看你不爽很久了,得益于Let's Encrypt,现在申请TLS证书变得异常简单。 ![mark](https://cdn.sguan.top/markdown/20190601/4FHJ3R47NG9d.png?imageslim) - 本文将分享我是如何开启整站HTTPS和QUIC,网上关于QUIC的介绍文章挺多的,既然你在看这篇文章,相信是对QUIC有一定了解的,本文不在做重复介绍相关概念。 - 网上的很多文章教程略微复杂,本文将带领你从0开始部署,大学生都学得会。 - 本文使用的浏览器是Chrome73,协议是QUIC43。最终效果如下。 ![mark](https://cd...阅读全文

博文 2019-06-01 14:15:36 imqksl

使用 caddy 作为微服务的 API gateway

背景 大家都知道,Docker这些年让IT界产生了深刻的变革,从开发到测试到运维,处处都有它的身影。它同时也和微服务架构相互促进,并肩前行。 在最新版的 Docker(CE 17.03) 里,随着 swarm mode 的成熟,在较简单的场景里已经可以不再需要专门的基础设施管理,服务编排,服务发现,健康检查,负载均衡等等。 但是API gateway还是需要一个的。或许再加上一个日志收集,你的微服务架构就五脏俱全了。我们知道Nginx Plus是可以很好的胜任 API gateway 的工作的,但它是商业软件。Nginx我们不说认证啊限流啊统计啊之类的功能,单就请求转发这一点最基本的就出了问题。 我们知道Docker是用DNS的方式,均衡同一名称的服务请求到不同的node,但是Nginx为了...阅读全文

博文 2017-03-18 08:53:33 Muninn

比 Nginx 更好用的 web 服务器:Caddy

双 11 薅了一下阿里云的羊毛 ,新vps用新工具武装下 。 What is Caddy Caddy 首先是一个用Go实现的Web Server。 在追求性能的道路上,nginx已经一骑绝尘。这种情况下诞生的 Gaddy有什么特性呢? Caddy的作者Matt Holt有这样的理念: 其他Web Server为Web而设计,Caddy为human设计。可以看出Caddy主打易用性,使用配置简单。得益于Go的跨平台特性,Caddy很容易的支持了三大主流系统:Windows、 Linux、Mac。 Caddy最大的特点是用起来简单, 它有下面这些开箱即用的特性: 全自动支持HTTP/2协议,无需任何配置。 Caddy 使用 Let’s Encrypt 让你的站点全自动变成HTTPS,无需任何配置...阅读全文

博文 2019-11-12 00:34:43

最低成本搭建 golang 透明代理

目标 由于众所周知的原因,golang.org 无法直接访问,golang 文档和安装包无法下载,golang.org/x/net 等官方包无法下载。 常见解决方案是无脑挂代理,解决一切问题,但为了以最小成本解决,我折腾出了这种方法,完全本机运行,无需外部代理和额外的服务器。是不是很爽? 思路 其实有官方镜像可以用: golang.org:https://golang.google.cn/ 官方包:https://github.com/golang/ 在本机自建 https 透明代理服务,通过 hosts 把 golang.org 解析到本机,代理服务再去请求镜像站。 这里就有另一个需要解决的问题,如 golang.org/x/net 包,经过透明代理后,实际访问的网址是 https://g...阅读全文

博文 2019-06-16 03:02:38 二叉白

使用 caddy 作为微服务的 API gateway

背景 大家都知道,Docker这些年让IT界产生了深刻的变革,从开发到测试到运维,处处都有它的身影。它同时也和微服务架构相互促进,并肩前行。 在最新版的 Docker(CE 17.03) 里,随着 swarm mode 的成熟,在较简单的场景里已经可以不再需要专门的基础设施管理,服务编排,服务发现,健康检查,负载均衡等等。 但是API gateway还是需要一个的。或许再加上一个日志收集,你的微服务架构就五脏俱全了。我们知道Nginx Plus是可以很好的胜任 API gateway 的工作的,但它是商业软件。Nginx我们不说认证啊限流啊统计啊之类的功能,单就请求转发这一点最基本的就出了问题。 我们知道Docker是用DNS的方式,均衡同一名称的服务请求到不同的node,但是Nginx为了...阅读全文

博文 2017-03-19 13:01:41 Muninn

Caddy初探

Caddy类似于Apache,Nginx,是一个高性能的HTTP和反向代理服务器 代码https://github.com/mholt/caddy 使用,先升级Go至1.9以上(https://my.oschina.net/u/2601...,然后 go get github.com/mholt/caddy/caddy go get github.com/caddyserver/builds cd $GOPATH/src/github.com/mholt/caddy/caddy go run build.go ./caddy 初步尝试,在caddy同目录下创建Caddyfile文件,并写入配置,然后运行caddy # cat Caddyfile 0.0.0.0:2015 push brows...阅读全文

博文 2018-03-28 10:34:41 zhanggq

一款简单,快速,轻便且易于安装的RSS订阅器:Miniflux2安装教程

说明:Miniflux是一个极简、快速、笨重且容易部署的Feed定阅器,支持Atom、RSS 1.0/2.0、JSON格式,支持OPML导入/导出等,可多人使用,好久前说过Miniflux部署教程,查看:Miniflux:自建私有RSS定阅工具,可多用户使用,但是方式仅适用于V1.x,现时upgrade到了V2,使用Golang编写,仅支持Postgresql数据库,官方部署教程挺坑的,这里就说下Docker部署方式。截图 部署本教程不快用OpenVZ架构的云主机服务器。1、部署环境#Debian/Ubuntu系统apt-get -y install git make nano curl#CentOS/RHEL系统yum -y install git make nano curl2、部署Do...阅读全文

博文 2018-10-19 19:34:42 没穿内裤的老正太

轻松搭建一个轻量级的企业Wiki和团队知识分享平台MM-Wiki

一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业Wiki和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境,基于Golang image.png image.png 特点 部署方便,基于golang编写,只需要下载对于平台下二进制文件执行即可。 快速安装程序, 提供方便的安装界面程序,无需任何手动操作。 独立的空间,空间是一组文档的集合,一般为公司部门或者团队,空间下的文档相互独立。空间可根据需求设置空间访问级别。 完善的系统权限管理,系统可以自定义角色,并为不同角色授予不同的权限。 集成统一登录,本系统支持通过外部系统认证用户, 比如与公司的LDAP登录融合。具体请看登录认证功能。 邮件通知功能,当开启邮件通知,文档更改会通知所有关注该文档的用户...阅读全文

博文 2019-07-26 22:32:40 一个配角

Caddy,一个用Go实现的Web Server

这是一个Web Server的时代,apache2与nginx共舞,在追求极致性能的路上,没有最高,只有更高。但这又是一个追求个性化的时代,有些Web Server并没有去挤“Performance提升”这一独木桥,而是有着自己的定位,Caddy就是这样一个开源Web Server。 Caddy的作者Matt Holt在caddy官网以及FAQ中对caddy的目标阐释如下: 其他Web Server为Web而设计,Caddy为human设计。功能定位上,与经常充当最前端反向代理的nginx不同,caddy致力于成为一个易用的静态 文件Web Server。可以看出Caddy主打易用性,使用配置简单。并且得益于Go的跨平台特性,caddy很容易的支持了三大主流平台:Windows、 Linux...阅读全文

博文 2017-04-11 08:00:45 路人甲777

本地跨域请求服务器调试

在网页开发的过程中,时常需要进行跨域请求,去测试服务器请求数据。 跨域限制是浏览器行为,不是服务器行为 要理解和解决跨域问题,需要深刻理解-跨域限制是浏览器行为,不是服务器行为。这也是为什么跨域通过postman这类工具来直接请求服务器接口数据,而在网页中通过js就不可以的原因,因为js运行在浏览器,当js运行的环境url和请求的接口数据的url不同域,并且服务器没有允许跨域请求时,浏览器就会认为这个请求是不安全的,就会限制请求。 理解了跨域限制是浏览器行为,不是服务器行为的原理后,就很容易解决跨域问题了。有两种方法: 1、 服务器端后台代码进行特殊设置,允许客户端进行跨域请求 java private void enableCORS(Request request, Response re...阅读全文

Go vs. Wordpress

<p>Okay, so I may take some hate for this one. </p> <p>What I&#39;m wondering is, if I combined all of our favorite Go tools, like gorilla, maybe Hugo, Alice, etc, would it be possible to develop a workflow that would rival a simple dynamic site&#39;s creation time with Wordpress? I&#39;m NOT saying that I think Wordp...阅读全文

资源 2016-06-13 18:00:10 blov

KubeSphere平台APIGateWay命令行参数说明

1. 背景 KubeSphere-V2.1.1-GA版本发布 了解Caddy实现的路由分发信息 KS-APIGateWay加载/etc/caddy/Caddyfile方式 2. 路由信息 源码路径 apiVersion: v1 data: Caddyfile: | :2018 { root /home authenticate { token-idle-timeout 40m redis-url redis://redis.kubesphere-system.svc:6379 secret {$JWT_SECRET} path / except GET /kapis/openpitrix.io/v1/apps /kapis/openpitrix.io/v1/attachments /kapi...阅读全文

博文 2020-03-28 18:32:42 道九言

十分钟搭建centos7+node.js+nest.js+caddy+pm2线上环境

centos7+node.js+nest.js+caddy+pm2安装及线上环境配置 node.js安装 官方安装说明地址 https://github.com/nodesource/distributions 执行命令 curl -sL https://rpm.nodesource.com/setup_8.x | bash - sudo yum install -y nodejs 至此,noded.js安装完成 版本查看 node -v npm -v nest.js安装 官方文档地址 https://github.com/nestcn/docs/blob/master/5.0/firststeps.md 首次安装执行命令 npm i -g @nestjs/cli 以后创建项目只需在你需要的...阅读全文

博文 2018-07-19 16:34:59 码牛不是牛

Forsaken Mail创建临时邮箱系统| 手把手教程

场景需求 不需要长时间使用的邮箱 需要大量创建临时邮箱 使用匿名邮箱 环境说明 **` `Forsaken Mail`是一个临时邮箱系统,可以供任何人接受邮件,即收即毁,支持自定义邮箱地址前缀,这里就说下`Docker`和`NPM`两种安装教程,任选一种即可,有兴趣或者有需求的可以玩玩。 Github地址:https://github.com/denghongcai/forsaken-mail 开启25 跟3000端口 发工单开 25 跟 3000端口 宝塔面板放行25 跟 3000端口 运营商(xx云等)到安全组开启机可 国外VSP(如xx工等) 一般不用开 安装Docker环境 Docker 官网 官网安装教程 #CentOS 6 rpm -iUvh http://dl.fedorapr...阅读全文

博文 2019-11-16 22:04:26 GDstudyer

Caddy源码阅读(二)启动流程与 Event 事件通知

Caddy源码阅读(二)启动流程与 Event 事件通知 Preface Caddy 是 Go 语言构建的轻量配置化服务器。https://github.com/caddyserver/caddy Caddy 整个软件可以说是由不同的 插件 堆砌起来的。自己本身仅提供 Plugin 的注册运行逻辑和 Server 的监听服务功能。 学习 caddy 的源码,实际上是学习 如何构建一个 松耦合的 抽象 Plugin 设计,即模块化插拔的做法。 所以我们的源码阅读,围绕 Caddy 为 Plugin 提供的基础设施,和 Plugin 自身逻辑。 下面我们从第一步,启动流程开始阅读。之后的路径应该是 Caddyfile 的解析,解析出的 配置文件如何消费,配置完成的服务器如何服务。 Overvie...阅读全文

博文 2019-08-22 23:02:39 yhyddr

Whats the best way to learn go for a complete newb programmer?

<p>I&#39;m new to programming and want to try my hand at picking up go. I&#39;ve gone through the tutorial and a few other introductory guides. Whilst I understand the high level concepts I&#39;m struggling to put that understanding into use because most of the tutorials assume you understand the syntax. Would it be a good idea to...阅读全文

caddy & grpc(3) 为 caddy 添加一个 反向代理插件

caddy-grpc 为 caddy 添加一个 反向代理插件 项目地址:https://github.com/yhyddr/caddy-grpc 前言 上一次我们学习了如何在 Caddy 中扩展自己想要的插件。博客中只提供了大致框架。这一次,我们来根据具体插件 caddy-grpc 学习。 选取它的原因是,它本身是一个独立的应用,这里把它做成了一个 Caddy 的插件。或许你有进一步理解到 Caddy 的良好设计。 插件作用 该插件的目的与Improbable-eng/grpc-web/go/grpcwebproxy目的相同,但作为 Caddy 中间件插件而不是独立的Go应用程序。 而这个项目的作用又是什么呢? 这是一个小型反向代理,可以使用gRPC-Web协议支持现有的gRPC服务器并公开...阅读全文

博文 2019-08-10 17:32:37 yhyddr