Nginx学习(1)

简介

nginx是俄罗斯人编写的轻量级Web服务器,我们常用其作为高性能的HTTP和反向代理、负载均衡服务器,同时也是一个IMAP、POP3、SMTP代理服务器。

对于大多数使用者来说,Nginx常用作静态文件服务器和http请求转发器。他可以直接根据静态文件的请求返回静态文件资源。把动态文件的请求转发给后台的处理程序。

支持热部署,启动速度快,可以在不间断服务的情况下进行版本和配置的升级。我们的服务器是放在防火墙里面,不是直接暴露,通过ng做了个转换。

正向代理

就像是一个跳板。作为一个用户,我访问不了某个网站(公司防火墙里的后端服务器),但是我能访问一个代理服务器(Nginx)。这个代理服务器(nginx)可以访问那个我不能访问的网站。

我连接上那个代理服务器,告诉他我要访问的那个网站的内容,代理服务器去取回来,然后返回给我。(从网站的角度,只有代理服务器来访问一次的记录,并不知道是用户的请求【如果代理服务器不说的话】)

反向代理

用户访问http://www.example.com/readme,但是www.example.com上面并不存在readme的内容。于是他悄眯去另一台服务器取回来,作为自己的内容返回给用户,但是用户并不知情。那么,www.example.com这个域名对应的服务器就设置了反向代理功能。

  • 正向代理,客户端是知道要转发的,需要配置(vpn设置:需要代理的地址、账户密码)。
  • 对于客户端而言,反向代理就是原始服务器,客户端不需要做特别的设置。客户端向反向代理发出请求以后,反向代理自行判断后端服务器地址,转发请求,并将获得的内容返回给客户端,就如同这些内容是他自己的一样。
  • 可以看出,我们现在配的nginx,都是用来做反向代理的。这样可以保护后端服务器,也能提高用户感知。
  • 正向代理,代理的是客户端(服务器不知道客户端是谁)
  • 反向代理,代理的是服务器,客户端不知道真正的服务器是谁。

正向代理和反向代理的简单配置逻辑

正向代理

服务器设置:访问服务器的ip不是代理服务器(118.126.106.11)则返回403。

location / {
     # ^表示以118开头
    if ( $remote_addr !~* "^118\.126\.106\.11" ){
        return 408;
    }
    
    root /usr/local/nginx/html;
    index index.html index.htm;
}

代理服务器配置
添加resolver和proxy_pass:

server{
    listen 80; # 监听端口
    server_name localhost;
    
    resolver 8.8.8.8; # 谷歌免费DNS服务器
    location / {
        proxy_pass https://$http_host$request_url; # 主机+url
    }
    
    error_page 500 502 503 504 /50x.html;
    localtion = 50x.html {
        root /usr/local/nginx/html;
    }
    
}

反向代理

例:服务器本身是不对外开放8080端口,但是想要访问,怎么办呢?
让他自己代理自己,哈哈哈哈

代理服务器设置
server {
    listen 80;
    server_name localhost;
    
    localtion / {
        root /usr/local/nginx/html;
        index index.html index.htm;
    }
    
    # 设置代理
    location /test.html {
        proxy_pass http://localhost:8080;
    }
    
    error_page 500 502 503 504 /50x.html;
    localtion = 50x.html {
        root /usr/local/nginx/html;
    }    
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值