Nginx, as reverse proxy, could not proxy_pass to a domain pointing to the local JBOSS

Posted by larryzhao on Super User See other posts from Super User or by larryzhao
Published on 2012-05-31T10:29:20Z Indexed on 2012/05/31 10:43 UTC
Read the original article Hit count: 249

Filed under:
|
|

My environment is Ubuntu 12.04, Nginx 1.20, and Torquebox 2.0.3 which is actually JBoss AS 7.

I have two app deployed on Torquebox, it listens to 8080 and have different hostnames, app1.mydomain.com and app2.mydomain.com. I added 127.0.0.1 app1.mydomain.com and 127.0.0.1 app2.mydomain.com in /etc/hosts then I curl app1.mydomain.com:8080 and curl app2.mydomain.com:8080 both have correct return.

Then I go to my nginx. I would like nginx to pass the visit to www.app1.com to app1.mydomain.com:8080, so I have the following configuration:

# primary server - proxypass to torquebox
server {
    listen       80;
    server_name  www.app1.com;

    access_log  off;
    error_log off;

    # proxy to Torquebox
    location / {
        proxy_pass         http://app1.mydomain:8080/;
        proxy_redirect     off;

        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_max_temp_file_size 0;

        client_max_body_size       10m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;

        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
}

But it doesn't work. curl www.app1.com returns nothing. And if I visit www.app1.com in Safari, the http return code is 404.

I don't know why, need help.

© Super User or respective owner

Related posts about nginx

Related posts about reverse-proxy