Nginx处理域名转发到tomcat

时间:2017-06-10 07:58:59

标签: apache redirect nginx reverse-proxy self-hosting

我有域名http://xyzabc.com,我在本地计算机上托管了几个示例应用

由于我的ISP 阻止端口80 ,所以我必须将我的域名转发到端口81;所以我在godaddy中定义了转发(http://xx.xx.xx.xx:81)我配置了2个子域foo.xyzabc.com和bar.xyzabc.com并分别使用转发为(http://xx.xx.xx.xx:81)和(http://xx.xx.xx.xx:81

在我的路由器中,我定义了端口转发,将外部端口81映射到内部端口80, nginx正在运行

在此之前,我的主要网站内容包含http://xyzabc.comhttp://foo.xyzabc.com

现在我想在某人键入http://foo.xyzabc.comhttp://localhost:8080/时映射 tomcat 而我很困惑如何配置它。

我尝试的是:

server {
listen 80;
server_name foo.xyzabc.com
location / {
    proxy_set_header X-Forwarded-Host $host:$server_port;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-Port 81;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_redirect http://xx.xx.xx.xx:81/ http://localhost:8080/;
}

}

    location / {
    proxy_pass http://localhost:8080/;
    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_connect_timeout 150;
    proxy_send_timeout 100;
            proxy_read_timeout 100;
}

许多排列组合但是在输入http://foo.xyzabc.com/

时我无法获取Tomcat网页

我真的很感激这方面的帮助。

1 个答案:

答案 0 :(得分:0)

您是否在server_name区块中设置了server参数?

e.g:

server {
    listen 80
    server_name foo.xyzabc.com;

    location / {
        ...
    }
}