文章目录
Nginx部署GO语言应用程序
使用nginx部署go语言应用程序实现反向代理和负载均衡
Nginx是什么
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,可以用于负载均衡、邮件代理、TCP/UDP、HTTP服务器等等 ,其特点如下:
- 正向、反向代理
- 负载均衡
- 支持TLS/SSL与SNI和OCSP
- 支持Websocket、HTTP/1.1协议
名词解释
正向代理:正向代理服务器,用户可以知道Web服务的数据库等系统的IP地址和端口号等敏感息,由于暴露了这些关键信息,容易遭受到恶意攻击所以安全性比较差。
正向代理的典型应用就是为火墙内局域网局域网客户端提供访问Internet的途径。其次使用正向代理还可以实使用缓冲特性减少网络使用率以及权限验证等功能,如上网权限。
一般对于企业内部管理系统,使用正向代理的方式,释放专门的网络带宽,特定域名实现某些功能只能有部分员工有权限访问
反向代理:反向代理用到了反向代理服务器,使用反向代理,典型的应用是将防火墙后面的服务器提供给Intenet用户访问,隐藏了Web应用服务,如数据库的IP地址、端口号等信息,提高了系统的安全性等。同时使用反向代理还可以实现多台服务器的负载均衡,启用高级的URL和管理技术,使处于不同Web服务器系统的Web界面同时存在一个URL空间下,提高系统性能。
对于互联网行业,如理财应用,为实现系统的安全性,采用反向代理的方式,对用户隐藏的后台应用的部署方式、结构等敏感信息,提供一个统一的域名给用户访问。
简而言之,Nginx就是一款代理服务器,用于客户端和服务器之间建立一个统一域名的映射关系,就如同你输入的https:\\www.baidu.com
,先由域名解析服务DNS解析出IP地址,然后访问这个IP地址,这个IP地址是代理服务器,