109.window 下实现nginx 反向代理

本文介绍如何在Windows环境下安装并配置Nginx,实现负载均衡。包括Nginx的下载、安装步骤,以及通过修改配置文件实现对多个Tomcat实例的负载均衡分配,并详细解释了配置过程中的关键步骤。

1.搭建nginx环境

1.1 下载window版本nginx软件

http://nginx.org/en/download.html

182926_h9Pn_3015807.png

1.2. 解压运行

183033_j5CD_3015807.png

183157_coJd_3015807.png

1.3 访问 niginx 

183900_Zao7_3015807.png

2. 负载均衡 

2.1 配置文件修改

# 配置我们的服务  --开始
    upstream a.com { 
      server  127.0.0.1:8080; 
      server  127.0.0.1:8081; 

  
server{ 
    listen 80; 
    server_name localhost; 
    location / { 
        proxy_pass         http://a.com; 

    } 
}
# 配置我们的服务  --结束

184356_XK6V_3015807.png

2.1 模拟版本域名

C:\Windows\System32\drivers\etc

184857_HAln_3015807.png

上面操作如果不行 先将hosts文件用本地文本打开 添加 127.0.0.1    a.com 后再替换原来的就行

测试本地 域名是否ping通

185139_8wlP_3015807.png

2.3 在本地启动不同端口的tomcat

参考:下面的

https://my.oschina.net/springMVCAndspring/blog/1811645

 

注意:启动的tomcat要与niginx代理的端口一样

效果测试:

下面两照片 第一个是访问8081 tomcat 9的 服务  第二次就是8080 tomcat 7服务

190140_4UvH_3015807.png

190440_N13N_3015807.png

4.注意 配置轮循 权重

 

190647_mJcP_3015807.png

191142_9suW_3015807.png

windows niginx 案例搭建完成

 

 

 

转载于:https://my.oschina.net/springMVCAndspring/blog/1811673

在使用 `window.open` 方法时,如果新打开的页面与当前页面属于不同的域名或端口,可能会遇到跨域问题。为了解决这一问题,可以通过 Nginx 配置代理转发来实现跨域请求的处理,从而支持 `window.open` 的正常使用。 配置 Nginx 以支持 `window.open` 的关键在于确保前后端服务在同一域名下,或者通过代理将不同域名的请求统一到一个域名下。以下是一个基本的反向代理配置示例: ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://backend-server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 在此配置中,`example.com` 是前端应用所在的域名,而 `backend-server` 是后端服务的实际地址。通过这种方式,所有对 `example.com` 的请求都会被代理到后端服务,从而避免了跨域问题[^2]。 此外,在实际部署过程中,可能还需要考虑 Cookie 的跨域共享问题。如果前端和后端不在同一个域名下,可以通过设置 `proxy_set_header` 指令来传递必要的头部信息,如 `Host`、`X-Real-IP` 等,以便后端服务能够正确识别客户端信息[^1]。 最后,确保每次修改配置后都重新加载或重启 Nginx 服务,以便使更改生效。可以使用如下命令进行重载: ```bat nginx -s reload ``` 此命令会检查配置文件的语法正确性,并尝试打开配置文件中所引用到的文件,然后重新加载配置[^1]。 ### 示例代码 假设有一个前端应用运行在 `http://frontend.example.com`,而后端 API 服务运行在 `http://api.backend.example.com`。为了使 `window.open` 能够顺利打开新的窗口并与后端交互而不出现跨域问题,可以配置 Nginx 如下: ```nginx server { listen 80; server_name frontend.example.com; location /api/ { proxy_pass http://api.backend.example.com/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { proxy_pass http://frontend.example.com/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 以上配置确保了所有对 `/api/` 路径的请求都会被代理到 `api.backend.example.com`,而其他请求则直接由前端服务处理。这样既解决了跨域问题,又保持了良好的可维护性和扩展性[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值