全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: wdfsinap

[已解决] nginx反向代理请教

[复制链接]
发表于 2014-5-12 16:13:50 来自手机 | 显示全部楼层
设置一下proxy header就行了来自: iPhone客户端
 楼主| 发表于 2014-5-12 16:23:14 | 显示全部楼层
有没有人写个完整的规则出来。谢谢了。
发表于 2014-5-12 17:43:11 | 显示全部楼层
wdfsinap 发表于 2014-5-12 16:23
有没有人写个完整的规则出来。谢谢了。
  1. if ($host ~* ^(.*)\.a\.com$){
  2.         proxy_set_header Host $1.b.com;
  3.         proxy_pass http://upstream_sample;
  4.         break;
  5. }
复制代码
 楼主| 发表于 2014-5-12 19:41:02 | 显示全部楼层

我测试了,提示错误,proxy_set_header is not allowed here。请问怎么解决
发表于 2014-5-12 19:51:37 来自手机 | 显示全部楼层
放到location里面来自: iPhone客户端
 楼主| 发表于 2014-5-12 21:35:46 | 显示全部楼层
  1. server {
  2. listen 80;
  3. location / {
  4. if ($host ~* ^(.*)\.a\.com$){
  5.         proxy_set_header Host $1.b.com;
  6.         proxy_pass http://clubsrv;      
  7.         break;
  8. }
  9. }
  10. upstream clubsrv {ip:port;}
  11. }
复制代码


是这样吗,可是还是提示proxy_set_header is not allowed here, 这里不让使用变量呀。
发表于 2014-5-12 22:22:54 | 显示全部楼层
本帖最后由 dvbhack 于 2014-5-12 22:25 编辑
  1. server {
  2.     listen 80 default_server;
  3.     server_name a.com; // 这里可以不要

  4.     location / {
  5.         if( $host ~* ^([^.]+)\.a.com$ ) {
  6.             set $sub_host $1;
  7.             proxy_pass http:/[b.com的IP地址];
  8.             proxy_set_header Host $sub_host.b.com;
  9.         }
  10.     }
  11. }
复制代码
发表于 2014-5-12 23:03:00 | 显示全部楼层
if is evil, 提示 server_name ~^(www\.)?(?<domain>.+)\.(?<ext>.+)$;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-6 08:52 , Processed in 0.058746 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表