# Rewrite \*.\*.com Host to \*.com

**URL:** <https://www.ruby-forum.com/t/rewrite-com-host-to-com/188168>\
**Category:** NGINX\
**Created:** [May 6, 2010, 8:35pm UTC](https://www.ruby-forum.com/t/rewrite-com-host-to-com/188168 "2010-05-06T20:35:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pablo\_platt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/d6d6ee/32.png) [@pablo\_platt](https://www.ruby-forum.com/u/pablo_platt)\
**Post date:** [May 6, 2010, 8:35pm UTC](https://www.ruby-forum.com/t/rewrite-com-host-to-com/188168/1 "2010-05-06T20:35:00Z")

</div>

Hi

I’m using nginx is a proxy for a long polling application.  
Old browsers have low limits on number of concurrent http requests so  
I’m  
using arbitrary subdomains for each vhost.

Is it possible to set the Host header to be [vhost.example.com](http://vhost.example.com) when the  
url  
is [something.vhost1.example.com](http://something.vhost1.example.com)  
without knowing from advanced what ‘something’ and ‘vhost1’ are?

I’m currently able to set Host to \*.com but I want to strip the first  
part.

server {  
listen 80;  
server\_name \*.com;

```
location /test {
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8000;
}

```

}

Thanks

---

<div class="post-metadata">

**Author:** ![pablo\_platt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/d6d6ee/32.png) [@pablo\_platt](https://www.ruby-forum.com/u/pablo_platt)\
**Post date:** [May 6, 2010, 9:11pm UTC](https://www.ruby-forum.com/t/rewrite-com-host-to-com/188168/2 "2010-05-06T21:11:18Z")

</div>

On Thu, 6 May 2010 21:34:03 +0300  
pablo platt [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’m currently able to set Host to \*.com but I want to strip the first  
> }  
> }
> 
> Thanks

Hi Pablo

Just some quick thoughts which might work (aka haven’t tried)

1. Use 2 server Directives

server {  
listen 80;  
server\_name _._.com;

location / {  
rewrite ^(.\*)$ [http://yourcomdomain.com](http://yourcomdomain.com) permanent;  
}  
}

server {  
listen 80;  
server\_name \*.com;

location /test {  
proxy\_set\_header Host $Host;  
proxy\_set\_header X-Real-IP $remote\_addr;  
proxy\_pass [http://localhost:8000](http://localhost:8000);  
}  
}

1. If Regexp are usable in server\_name (are they?)

server {  
…  
server\_name $\*.com;  
…  
}

Greetings  
Tobias
