1. 程式人生 > >nginx+tomcat實現反射代理和域名繫結專案

nginx+tomcat實現反射代理和域名繫結專案

Nginx反向代理設定如下:

upstream admin {
server 127.0.0.1:8080;(將請求轉發到的實際容器tomcat埠)
}

server {
listen 80;
server_name  _;(這個地方設定需要反向代理的域名,如www.baidu.com)
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 120;
proxy_send_timeout 120;
access_log /alidata/log/nginx/access/admin.log;
location / {
proxy_pass http://admin;
proxy_intercept_errors on;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
error_page 404 /404.html;
location = /404.html {
root html;
}
}

Nginx反向代理的好處,可以將伺服器的對外開放埠設定為統一的80埠,如現在的微信公眾號開發,微信伺服器要求第三方開放伺服器埠必須為80埠。

Tomcat域名繫結專案:

<Host name="www.baidu.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="../webapps/baidu" debug="0" reloadable="true"/>
</Host>

docBase配置成某個具體的專案資源地址,可以將專案繫結上host name設定的域名。這樣做的好處是可以省略專案地址,以域名來訪問專案,如這個設定中,使用www.baidu.com來訪問專案baidu。