# Proxy\_pass error: host not found in upstream

**URL:** <https://www.ruby-forum.com/t/proxy-pass-error-host-not-found-in-upstream/188331>\
**Category:** NGINX\
**Created:** [May 10, 2010, 11:09am UTC](https://www.ruby-forum.com/t/proxy-pass-error-host-not-found-in-upstream/188331 "2010-05-10T11:09:29Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [May 10, 2010, 11:09am UTC](https://www.ruby-forum.com/t/proxy-pass-error-host-not-found-in-upstream/188331/1 "2010-05-10T11:09:29Z")

</div>

config file:  
server {  
listen [::]:80;  
server\_name [svn.php.net](http://svn.php.net);  
location /{  
proxy\_pass [http://svn.php.net](http://svn.php.net);  
}  
}  
server {  
listen [::]:80;  
server\_name [upload.wikipedia.org](http://upload.wikipedia.org);  
location /{  
proxy\_pass [http://upload.wikipedia.org](http://upload.wikipedia.org);  
}  
}

# /usr/sbin/nginx -t

[emerg]: host not found in upstream “[upload.wikipedia.org](http://upload.wikipedia.org)” in  
/etc/nginx/sites-enabled/blocked-reverse-proxy:12  
configuration file /etc/nginx/nginx.conf test failed

I set the similar server block for reverse proxying [svn.php.net](http://svn.php.net) and  
[upload.wikipedia.org](http://upload.wikipedia.org) , while [svn.php.net](http://svn.php.net) passed the config test but  
[upload.wikipedia.org](http://upload.wikipedia.org) NOT. Why?

# /usr/sbin/nginx -V

nginx version: nginx/0.7.64  
TLS SNI support enabled  
configure arguments: --conf-path=/etc/nginx/nginx.conf  
–error-log-path=/var/log/nginx/error.log  
–pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock  
–http-log-path=/var/log/nginx/access.log  
–http-client-body-temp-path=/var/lib/nginx/body  
–http-proxy-temp-path=/var/lib/nginx/proxy  
–http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug  
–with-http\_stub\_status\_module --with-http\_flv\_module  
–with-http\_ssl\_module --with-http\_dav\_module  
–with-http\_gzip\_static\_module --with-mail --with-mail\_ssl\_module  
–with-ipv6  
–add-module=/tmp/buildd/nginx-0.7.64/modules/nginx-upstream-fair

It’s the debian package.

–  
Ren Xiaolei

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [May 10, 2010, 2:47pm UTC](https://www.ruby-forum.com/t/proxy-pass-error-host-not-found-in-upstream/188331/2 "2010-05-10T14:47:51Z")

</div>

On Mon, May 10, 2010 at 5:15 PM, Igor S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Host [upload.wikipedia.org](http://upload.wikipedia.org) not found: 3(NXDOMAIN)  
> Thank you for pointing out my mistake.  
> But I wonder why is the domain name resolved when testing config file?  
> I think NXDOMAIN should be a runtime error, not occured before nginx  
> runs. Or else, what would happen if the domain name is deleted during  
> nginx running?

–  
Ren Xiaolei

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [May 10, 2010, 11:16am UTC](https://www.ruby-forum.com/t/proxy-pass-error-host-not-found-in-upstream/188331/3 "2010-05-10T11:16:31Z")

</div>

On Mon, May 10, 2010 at 05:08:34PM +0800, ä»»æ™“ç£Š wrote:

> ```
> server_name upload.wikipedia.org;
> 
> ```
> 
> I set the similar server block for reverse proxying [svn.php.net](http://svn.php.net) and  
> [upload.wikipedia.org](http://upload.wikipedia.org) , while [svn.php.net](http://svn.php.net) passed the config test but  
> [upload.wikipedia.org](http://upload.wikipedia.org) NOT. Why?

> host [upload.wikipedia.org](http://upload.wikipedia.org)  
> Host [upload.wikipedia.org](http://upload.wikipedia.org) not found: 3(NXDOMAIN)

–  
Igor S.

> **[Igor Sysoev](http://sysoev.ru/en/)**

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [May 10, 2010, 3:05pm UTC](https://www.ruby-forum.com/t/proxy-pass-error-host-not-found-in-upstream/188331/4 "2010-05-10T15:05:25Z")

</div>

On Mon, May 10, 2010 at 08:46:53PM +0800, ä»»æ™“ç£Š wrote:

> On Mon, May 10, 2010 at 5:15 PM, Igor S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Host [upload.wikipedia.org](http://upload.wikipedia.org) not found: 3(NXDOMAIN)  
> > Thank you for pointing out my mistake.  
> > But I wonder why is the domain name resolved when testing config file?  
> > I think NXDOMAIN should be a runtime error, not occured before nginx  
> > runs. Or else, what would happen if the domain name is deleted during  
> > nginx running?

nginx resolves hosts at configuration phase, because for a long time  
nginx has no non-blocikng resolver. Currently it has, but resolves  
hosts at run-time only if proxy\_pass contains variables in any place,  
not necessarily in the host part.

–  
Igor S.

> **[Igor Sysoev](http://sysoev.ru/en/)**

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [May 10, 2010, 3:37pm UTC](https://www.ruby-forum.com/t/proxy-pass-error-host-not-found-in-upstream/188331/5 "2010-05-10T15:37:03Z")

</div>

On Mon, May 10, 2010 at 9:04 PM, Igor S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> nginx resolves hosts at configuration phase, because for a long time  
> nginx has no non-blocikng resolver. Currently it has, but resolves  
> hosts at run-time only if proxy\_pass contains variables in any place,  
> not necessarily in the host part.

It’s difficult to communicate with you if I insist my old version.  
I will update my version as soon as possible.

–  
Ren Xiaolei
