Nginxでプロキシを使用してサーバーブロックをセットアップしました。これは、ディレクトリを使用してサービスにアクセスしたときに機能します。
たとえば、このconfを使用してgs.geolytix.net/geoserverにアクセスできます。
server {
listen 80;
server_name gs.geolytix.net;
location /geoserver {
proxy_set_header X-Forwarded-Host $Host;
proxy_set_header X-Forwarded-Server $Host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://138.68.137.90:8080/geoserver;
}
}
ここまでは順調ですね。しかし、私が達成したいのは、同じアドレスにアクセスしますが、ブラウザのアドレスはgs.geolytix.netのみです。ディレクトリなし。場所を/に変更すると、gs.geolytix.netに移動します。応答はgs.geolytix.net//です。
ありがとう、デニス
Proxy_passに「URI」を含めることでこれを行うことができます。これは、一種の暗黙的な書き換えを行います。
location / {
# Note the "/" at the end of the proxy_pass, this will cause it to
# replace the location block (/ in this case) with "/geoserver/"
# when talking to Origin.
# So gs.geolytix.net/test becomes 138.68.137.90:8080/geoserver/test
proxy_pass http://138.68.137.90:8080/geoserver/;
}