<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title></title>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
body {
margin: 5px 5px 5px 5px;
background-color: #ffffff;
}
/* ========== Text Styles ========== */
hr { color: #000000}
body, table /* Normal text */
{
font-size: 9pt;
font-family: 'Courier New';
font-style: normal;
font-weight: normal;
color: #000000;
text-decoration: none;
}
span.rvts1 /* Heading */
{
font-size: 10pt;
font-family: 'Arial';
font-weight: bold;
color: #0000ff;
}
span.rvts2 /* Subheading */
{
font-size: 10pt;
font-family: 'Arial';
font-weight: bold;
color: #000080;
}
span.rvts3 /* Keywords */
{
font-size: 10pt;
font-family: 'Arial';
font-style: italic;
color: #800000;
}
a.rvts4, span.rvts4 /* Jump 1 */
{
font-size: 10pt;
font-family: 'Arial';
color: #008000;
text-decoration: underline;
}
a.rvts5, span.rvts5 /* Jump 2 */
{
font-size: 10pt;
font-family: 'Arial';
color: #008000;
text-decoration: underline;
}
span.rvts6
{
font-size: 11pt;
font-family: 'tahoma';
font-weight: bold;
color: #ffffff;
background-color: #0000ff;
}
span.rvts7
{
font-size: 11pt;
font-family: 'tahoma';
}
a.rvts8, span.rvts8
{
font-size: 11pt;
font-family: 'tahoma';
color: #0000ff;
text-decoration: underline;
}
span.rvts9
{
font-size: 8pt;
font-family: 'arial';
font-style: italic;
color: #c0c0c0;
}
a.rvts10, span.rvts10
{
font-size: 8pt;
font-family: 'arial';
color: #0000ff;
text-decoration: underline;
}
/* ========== Para Styles ========== */
p,ul,ol /* Paragraph Style */
{
text-align: left;
text-indent: 0px;
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
}
.rvps1 /* Centered */
{
text-align: center;
}
--></style>
</head>
<body>
<p>Здравствуйте, Vladimir.</p>
<p><br></p>
<p>Если мне не изменяет память в jboss используется tomcat в качестве контейнера сервлетов.</p>
<p><br></p>
<p>http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Proxy%20Support</p>
<p><br></p>
<p>Вы писали 25 марта 2008 г., 15:26:35:</p>
<p><br></p>
<div><table border=0 cellpadding=1 cellspacing=2>
<tr valign=top>
<td width=12 style="background-color: #0000ff;">
<p><span class=rvts6>></span></p>
</td>
<td width=738 style="background-color: #ffffff;">
<p><span class=rvts7>Доброго времени суток!</span></p>
<p><br></p>
<p><span class=rvts7>Имеется nginx, который является фронтендом для некого jboss сервиса. Проблема в том, что библиотека struts, используемая в jboss (или еще какая-то) судя по всему берет значение доменного из запроса. По этому есть делать proxy_pass </span><a class=rvts8 href="http://127.0.0.1:8080/">http://127.0.0.1:8080/</a><span class=rvts7> везде, где используются абсолютные адреса (<base ...> и редиректы) вылезает </span><a class=rvts8 href="http://127.0.0.1">127.0.0.1</a><span class=rvts7>.</span></p>
<p><br></p>
<p><span class=rvts7>В качестве костылика было сделано следующее:</span></p>
<p><span class=rvts7>location / {</span></p>
<p><span class=rvts7> proxy_pass </span><a class=rvts8 href="http://domain.name:8080/">http://domain.name:8080/</a><span class=rvts7>;</span></p>
<p><span class=rvts7>}</span></p>
<p><a class=rvts8 href="http://domain.name">domain.name</a><span class=rvts7> прописано в /etc/hosts как </span><a class=rvts8 href="http://127.0.0.1">127.0.0.1</a><span class=rvts7>.</span></p>
<p><br></p>
<p><span class=rvts7>В результате jboss возвращает везде правильные ссылки (</span><a class=rvts8 href="http://domain.name/">http://domain.name/</a><span class=rvts7>тратата), однако понятно что это костылик, который делает распределение нагрузки и fail-over невозможным.</span></p>
<p><br></p>
<p><span class=rvts7>Jboss - жуткий монстр, который лучше не трогать лишний раз, да и я не очень хорошо с ним знаком, поэтому (и еще по некоторым причинам) было бы гораздо удобнее переопределить имя хоста с помощью nginx, т.е. я хочу сделать что-то типа</span></p>
<p><br></p>
<p><span class=rvts7>location / {</span></p>
<p><span class=rvts7> proxy_pass </span><a class=rvts8 href="http://127.0.0.1:8080/">http://127.0.0.1:8080/</a><span class=rvts7>;</span></p>
<p><span class=rvts7> param hostname '</span><a class=rvts8 href="http://domain.name">domain.name</a><span class=rvts7>';</span></p>
<p><span class=rvts7>}</span></p>
<p><br></p>
<p><span class=rvts7>Дабы nginx коннектился на </span><a class=rvts8 href="http://127.0.0.1:8080">127.0.0.1:8080</a><span class=rvts7>, а в GET/POST/... запросах указывал </span><a class=rvts8 href="http://domain.name">domain.name</a><span class=rvts7>.</span></p>
<p><br></p>
<p><span class=rvts7>Возможно это как-то можно сделать с помощью ngx_http_headers_module?</span></p>
<p><br></p>
<p><span class=rvts7>-- </span></p>
<p><span class=rvts7>Vladimir Rusinov</span></p>
<p><span class=rvts7>Voronezh, Russia</span></p>
<p><span class=rvts7>UNIX Admin @ Murano Software </span></p>
</td>
</tr>
</table>
</div>
<p><br></p>
<p><br></p>
<p><br></p>
<p><br></p>
<p><span class=rvts9>-- </span></p>
<p><span class=rvts9>С уважением,</span></p>
<p><span class=rvts9> Евгений </span><a class=rvts10 href="mailto:devyatyh@gmail.com">mailto:devyatyh@gmail.com</a></p>
</body></html>