nginx反向代理-调用方虚拟主机配置

本来我是不涉及到后端领域,因为后续的项目会涉及到跨域和单点登录,我就查资料了解下关于nginx的反向代理,算是一个微末的经验

1.http请求都是从调用方的浏览器,发送请求到http服务器,http服务器在把请求转到应用服务器

2.应用服务器处理之后,返回给http服务器,http服务器在把响应给调用方的浏览器

3.在这个过程中有两个地方可以曾加响应头,一个是应用服务器,一个是http服务器(nginx)

接下来讲nginx配置,讲之前先了解一下虚拟主机

虚拟主机的意思是,多个域名指向同一个服务器,服务器根据不同的域名,把请求转到不同的应用服务器,看上去好像有多个主机,实际上就一个主机,这就是虚拟主机。

1.被调用方虚拟主机配置,版本1.11.5

  • host配置,打开window里host文件里面,映射一个本地域名 127.0.0.1  b.com (表示被调用方的域名) 保存
  • 打开nginx的config目录,新建一个vhost文件夹,在这里存放虚拟主机的文件
  • 打开nginx.conf,在最后面增加一句话,include vhost/*.conf;(这句话的意思是,用nginx载入这个目录下面所有后缀为conf的文件)
  • 然后在vhost的文件夹里新建一个b.com.conf的文件,使用nginx语法里面创建一个节点
server{
    listen 80; // 监听端口 80
    server_name b.com; // 监听域名
    
    location /{ // 所有请求转到这里
        proxy_pass http://localhost:8080/; // 被调用方的端口 8080

        add_header Access-Control-Allow-Methods *;
        add_header Access-Control-Max-Age 3600;
        add_header Access-Control-Allow-Credentials true; // 增加支持cookie相应头
        // $http_origin 请求头里的origin的值
        add_header Access-Control-Allow-Origin $http_origin; //带cookie的时候,origin必须是全匹配,不能使用*
        add_header Access-Control-Allow-Headers $http_access_control_request_headers;
        // 域解命令处理
        if ($request_method == OPTIONS){ // 请求方法是不是options
            return 200
        }
        
    }
}

2.打开命令窗口,启动nginx, start nginx.exe

3.浏览器地址输入b.com,查看启动成功(配合测试用例来测试)

4.发现有cookie报错因为没有传,所以cookie是被调用方携带的,chrome浏览器控制台里输入 document.cookie="cookie1=123" 回车

最后测试成功,end。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值