Nginx反向代理实例
什么是Nginx
Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好 Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。
什么是正向代理
在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问
什么是反向代理
反向代理:其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器,真实服务器IP地址隐藏了。
代理实例
最近由于访问github非常的慢,有时候根本打不开,一些美国的网站打不开,所以我就想到了使用Nginx的反向代理,果然使用了阿里云的服务器,反向代理了一下,很快就能访问,看来阿里云的服务器没有怎么被限制
-
先配置一个解析规则:
-
设置一个Nginx的配置文件
server{
listen 80;
server_name git.xxx.com;
index index.php index.html index.htm;
location / {
proxy_pass https://github.com;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#此处是使用certbot生成的免费证书
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/git.roguetang.tech/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/git.roguetang.tech/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
- 使用certbot去生成证书
1.输入提供服务的软件和服务器环境
2.根据下面的提示进行操作完成服务器配置生成证书
- 重启Nginx的服务
service nginx restart
- 使用服务器查看