Integrity 継続的インテグレーション サーバーをサブディレクトリ (またはベース URL)にデプロイしようとしています。つまり、 http://integrity.example.comではなくhttp://dev.example.com/integrity/のような URL でホストしたいと考えています。
Unicorn と Nginx を使用しています。私のNginx構成:
upstream integrity {
server unix:/home/integrity_ci/integrity/tmp/sockets/integrity.socket;
}
server {
server_name dev.example.com;
location /integrity {
proxy_pass http://integrity;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
}
}
http://dev.example.com/integrity/にアクセスすると、(Nginx 404 ページではなく) Integrity 404 が表示されるため、Nginx 構成は正しいように見えます。しかし、アプリケーション ルートとして /integrity を認識するように Unicorn/Integrity を構成するにはどうすればよいでしょうか?
Nginx に書き換えルールを追加しても機能しません。Integrity は/
ではなく を使用して URL を構築し/integrity
、CSS、JavaScript、およびリンクが破損するためです。
Integrity は Sinatra アプリケーションであるため、おそらくこれを行う標準的な方法があります。