2017-05-18 11 views
0

Apache Webサーバーを実行しているUbuntuサーバーホストがあります。このホスト上で実行すると、のようなポート構成で(このimageから構築された)Geoserver(Tomcatの経由)を提供するドッキングウィンドウのコンテナです:0.0.0.0:32770->8080/tcpApacheホストからDockerコンテナへのプロキシ要求

私はちょうど罰金http://my.domain:32770/geoserver
を使用してGeoserverにアクセスすることができます 私はこのような要求にポートとうまく再生されないHTTPS(以下のコードを参照)、以上のすべての要求を提供するために、ホスト上のApacheに設定されたリダイレクト持っている(すなわち。https://my.domain:32770/geoserver

<VirtualHost *:80> 
     # sending http requests to https 
     ServerName data.nrri.umn.edu 
     Redirect permanent/https://data.nrri.umn.edu/ 
</VirtualHost> 

私の試みこの問題を回避するには、Apache設定ファイルのProxyPassディレクティブを使用します。

私が上記のようなGeoserverのホームページにアクセスすると予想されるURLを使用すると(つまり、 http://my.domain/my-geoserverhttps://my.domain/geoserver/index.htmlにリダイレクトされ、404が見つかりませんでした。
私はまた、両方のhttp://my.domain:32770/geoserverhttp://my.domain:32770/geoserver/index.html解決するにはhttp://my.domain:32770/geoserver/web/

は、私がここで間違って何をやっていることに注意する必要がありますか?

編集 curl -L -v -o /dev/null data.nrri.umn.edu/nra-geoserver

* Hostname was NOT found in DNS cache 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0* Trying 131.212.123.7... 
* Connected to data.nrri.umn.edu (131.212.123.7) port 80 (#0) 
> GET /nra-geoserver HTTP/1.1 
> User-Agent: curl/7.35.0 
> Host: data.nrri.umn.edu 
> Accept: */* 
> 
< HTTP/1.1 302 Found 
< Date: Fri, 19 May 2017 15:28:35 GMT 
* Server Apache-Coyote/1.1 is not blacklisted 
< Server: Apache-Coyote/1.1 
< Location: /geoserver/index.html 
< Content-Length: 0 
< Set-Cookie: JSESSIONID=DFECFFB91353A34C407488EAAF70A2B4; Path=/geoserver; HttpOnly 
< 
    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0 
* Connection #0 to host data.nrri.umn.edu left intact 
* Issue another request to this URL: 'HTTP://data.nrri.umn.edu/geoserver/index.html' 
* Found bundle for host data.nrri.umn.edu: 0x95b8c0 
* Re-using existing connection! (#0) with host data.nrri.umn.edu 
* Connected to data.nrri.umn.edu (131.212.123.7) port 80 (#0) 
> GET /geoserver/index.html HTTP/1.1 
> User-Agent: curl/7.35.0 
> Host: data.nrri.umn.edu 
> Accept: */* 
> 
< HTTP/1.1 301 Moved Permanently 
< Date: Fri, 19 May 2017 15:28:35 GMT 
* Server Apache/2.4.7 (Ubuntu) is not blacklisted 
< Server: Apache/2.4.7 (Ubuntu) 
< Location: https://data.nrri.umn.edu/geoserver/index.html 
< Content-Length: 336 
< Content-Type: text/html; charset=iso-8859-1 
< 
* Ignoring the response-body 
{ [data not shown] 
100 336 100 336 0  0 38536  0 --:--:-- --:--:-- --:--:-- 38536 
* Connection #0 to host data.nrri.umn.edu left intact 
* Issue another request to this URL: 'https://data.nrri.umn.edu/geoserver/index.html' 
* Found bundle for host data.nrri.umn.edu: 0x95b8c0 
* Hostname was NOT found in DNS cache 
* Trying 131.212.123.7... 
* Connected to data.nrri.umn.edu (131.212.123.7) port 443 (#1) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs 
* SSLv3, TLS handshake, Client hello (1): 
} [data not shown] 
* SSLv3, TLS handshake, Server hello (2): 
{ [data not shown] 
* SSLv3, TLS handshake, CERT (11): 
{ [data not shown] 
* SSLv3, TLS handshake, Server key exchange (12): 
{ [data not shown] 
* SSLv3, TLS handshake, Server finished (14): 
{ [data not shown] 
* SSLv3, TLS handshake, Client key exchange (16): 
} [data not shown] 
* SSLv3, TLS change cipher, Client hello (1): 
} [data not shown] 
* SSLv3, TLS handshake, Finished (20): 
} [data not shown] 
* SSLv3, TLS change cipher, Client hello (1): 
{ [data not shown] 
* SSLv3, TLS handshake, Finished (20): 
{ [data not shown] 
* SSL connection using ECDHE-RSA-AES256-GCM-SHA384 
* Server certificate: 
*  subject: C=US; ST=MN; L=Minneapolis; O=University of Minnesota; OU=Natural Resources Research Institute; CN=data.nrri.umn.edu 
*  start date: 2017-04-18 00:00:00 GMT 
*  expire date: 2020-04-17 23:59:59 GMT 
*  subjectAltName: data.nrri.umn.edu matched 
*  issuer: C=US; ST=MI; L=Ann Arbor; O=Internet2; OU=InCommon; CN=InCommon RSA Server CA 
*  SSL certificate verify ok. 
> GET /geoserver/index.html HTTP/1.1 
> User-Agent: curl/7.35.0 
> Host: data.nrri.umn.edu 
> Accept: */* 
> 
< HTTP/1.1 404 Not Found 
< Date: Fri, 19 May 2017 15:28:35 GMT 
* Server Apache/2.4.7 (Ubuntu) is not blacklisted 
< Server: Apache/2.4.7 (Ubuntu) 
< Content-Length: 301 
< Content-Type: text/html; charset=iso-8859-1 
< 
{ [data not shown] 
100 301 100 301 0  0 4404  0 --:--:-- --:--:-- --:--:-- 4404 
* Connection #1 to host data.nrri.umn.edu left intact 
+0

リダイレクトがどこで設定されているかを明確にし、追加設定を行った場合は、Tomcatと関連する設定を提供できますか? –

+0

自分のホスト上にある私のApacheリダイレクト設定を追加しました。 Tomcatがコンテナ内で実行されているので、私はそこで何もしなかったし、Tomcatの設定にも慣れていません。私はDockerfileで行われたことをそのまま受け入れました。 – rumski20

+0

'curl -L -v -o/dev/null http:// my.domain/my-geoserver'を試して、出力をポーズしてリダイレクトヘッダを見ることができますか?ここでは2つのリダイレクトが行われているようです。 'http:// my.domain/my-geoserver'が' https:// my.domain/geoserver/index.html'にどのようにリダイレクトされているのか混乱しています。 –

答えて

0

OKからの出力は、そう起こって2つのリダイレクトがあります。私は最初のものを解決する良い方法についてはわかりません(そして解決策がそれを解決する可能性もあります)。しかし、2番目の方法では、パスに末尾の/を追加することができます。その結果、プロキシディレクティブは次のようになります。

ProxyPass /my-geoserver/ http://127.0.0.1:32770/geoserver/ 
ProxyPassReverse /my-geoserver/ http://127.0.0.1:32770/geoserver/ 

http://data.nrri.umn.edu/geoserver/index.htmlで最初に試してみて、その後、http://data.nrri.umn.edu/nra-geoserverとし、それが次の障害が発生した場所を確認これを与えます。前者が動作しても失敗した場合は、リモートIPバルブhttps://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/RemoteIpValve.htmlを有効にするためにTomcatの設定を編集する必要があります。

+0

上記の変更を実装しましたが、同じことが起こります。http://data.nrri.umn.edu/nra-geoserverはhttp://data.nrri.umn.edu/geoserver/index.htmlに解決されます。 404 Not Foundのページが表示される – rumski20

+0

data.nrri.umn.eduの/geoserver/index.htmlにアクセスしようとしているようですが、そこには何もありません。代わりにgeoserverはdata.nrri.umn.edu:32770にあります(つまり、data.nrri.umn.edu:32770/geoserver) – rumski20

関連する問題