YouTrack不适用于nginx代理

我正在尝试使用以下命令运行YouTrack实例:

java -Xmx1g -XX:MaxPermSize=250m -Djava.security.egd=/dev/zrandom -Djava.awt.headless=true -Djetbrains.youtrack.baseUrl=http://localhost/yt -Djetbrains.youtrack.disableBrowser=true -jar /opt/youtrack.jar 3579 

而我有一个nginx代理(不相关的nginxconfiguration部分被省略):

 upstream youtrack { server localhost:3579; } server { listen 80 default_server; listen [::]:80 default_server; server_name localhost; root /usr/share/nginx/html; location / { root /var/www/main; index index.html; } location /yt { rewrite /yt(.*) /$1 break; proxy_pass http://youtrack; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } } 

每次当我inputurl http://localhost/yt我被redirect到http://localhost/rootGo通过YouTrack,然后显然得到404错误。 为什么会发生这种情况,如何才能让YouTrack工作的子url?

尝试添加/ yt contextPath到youtrack。

 java -Xmx1g -XX:MaxPermSize=250m -Djava.security.egd=/dev/zrandom -Djava.awt.headless=true -Djetbrains.youtrack.baseUrl=http://localhost/yt -Djetbrains.youtrack.disableBrowser=true -jar /opt/youtrack.jar 3579/yt 

从youtrack文档: https ://confluence.jetbrains.com/display/YTD6/Installing+YouTrack+with+JAR+Distribution

从YouTrack 6.0.12223开始,您可以使用以下命令运行YouTrack Standalone:

 java -Xmx1g -XX:MaxPermSize=250m -Djava.awt.headless=true <Optional Java Start Parameters> -jar youtrack-<version>.jar [host:]<port>[/contextPath] [config file path] 

实现对'contextPath'的支持实际上允许你现在运行YouTrack,并使用之前默认使用的根path。 以下是YouTrack服务器的各种URIconfiguration的一些命令示例:

 java -Xmx1g -XX:MaxPermSize=250m -Djava.awt.headless=true -jar youtrack-6.0.12124.jar 8080 java -Xmx1g -XX:MaxPermSize=250m -Djava.awt.headless=true -jar youtrack-6.0.12124.jar 8080/youtrack java -Xmx1g -XX:MaxPermSize=250m -Djava.awt.headless=true -jar youtrack-6.0.12124.jar 127.0.0.1:8080 java -Xmx1g -XX:MaxPermSize=250m -Djava.awt.headless=true -jar youtrack-6.0.12124.jar 127.0.0.1:8080/youtrack