我的目标是使用ngnix将一个域重定向到另一个域:
http://abc.mydomain1.com - > http://mydomain2.com:8080/test1
我尝试了以下内容:
server {
listen 80;
server_name abc.mydomain1.com;
access_log off;
location / {
proxy_pass http://mydomain2.com:8080/test1/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
port_in_redirect off;
proxy_connect_timeout 300;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} }
它适用于第一页index.html但是这个页面需要加载javascripts和css资源并查看源代码我注意到所有链接都是这样生成的:
<link rel="stylesheet" href="/test1/css/bootstrap.min.css"/>
如何避免contextPath“test1”?我认为标题中缺少一些东西,但我不知道:(
提前感谢您的帮助
答案 0 :(得分:0)
我认为我的方法不正确,因为服务器http://mydomain2.com:8080/test1/将在本例“test1”中生成基于上下文的链接。因此ngnix运作良好。
我解决了在http://mydomain2.com:8080为“test1”创建虚拟主机的问题
<Host name="abc.mydomain1.com" appBase="abc.mydomain1.com"
unpackWARs="true" autoDeploy="true"></Host>
我将重定向更改为(删除test1):
server {
listen 80;
server_name abc.mydomain1.com;
access_log off;
location / {
proxy_pass http://mydomain2.com: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;
port_in_redirect off;
proxy_connect_timeout 300;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} }