1

アプリケーションで .jsp ページを使用できるように、Apache を使用して Ubuntu で localhost アプリケーションを起動し、それを Tomcat にプロキシしようとしています。これは可能であるように思われ、私はかなり近いと思いますが、完全に正しく理解できないようです. どんな助けでも大歓迎です!私はこれまでに apache や tomcat を使用したことがないので、これがばかげていると思われる場合でも、私を嫌いにならないでください。

ホスト用の次のコードを使用して、localhost でサイトをホストする Apache を取得しました。

<VirtualHost *:80>
ServerName localhost
ServerAlias test.com

DocumentRoot /var/www/test.com/helloworld
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

これにより、URL に localhost/hello.html と入力して、自分のページ hello.html に正常に移動できます。この時点から、次のようなコードを挿入する必要があることを読みました。

ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

ProxyPass /(appname) ajp://localhost:8009/(appname)
ProxyPassReverse /(appname) ajp://localhost:8009/(appname)

そして、Tomcat がリクエストを受け取るはずです。この場合、アプリ名は何になりますか? 私のページは にある/var/www/test.com/helloworld/hello.htmlので、「helloworld」になると思ったのですが、うまくいきません。appname を空白のままにすると、Tomcat に「おめでとうございます。Tomcat が正常にインストールされました。」というメッセージが表示されます。localhost に移動すると、自分のページが見つかりません。

助けてください。これは徐々に悪夢になりつつあります。ありがとう!

4

1 に答える 1

0

私はそれを考え出した。これは非常にばかげていますが、Tomcat ディレクトリ内にアプリケーションを格納するのではなく、/var/www からアプリケーションをロードしようとしていました。/フェイスパーム

元の質問に投稿したプロキシ コードは、仮想ホストで必要な唯一のコードです。みんな、ありがとう。

于 2012-11-12T21:13:40.693 に答える