1

我正在使用 JetBrains 工具来管理团队。使用 Apache 管理我的域/子域。我有一个名为的子域dev.sepidarr.ir,它负责作为我的开发环境的主要入口点。

dev.sepidarr.ir.conf

<VirtualHost *:80>

  DocumentRoot /home/neacodin/domains/dev.sepidarr.ir/
  DirectoryIndex index.html

  <Directory "/home/neacodin/domains/dev.sepidarr.ir">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
  </Directory>

  ServerName dev.sepidarr.ir
  ServerAlias www.dev.sepidarr.ir

  RewriteEngine on
  RewriteCond %{SERVER_NAME} =www.dev.sepidarr.ir [OR]
  RewriteCond %{SERVER_NAME} =dev.sepidarr.ir
  RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>

我想让每个 JetBrains 的工具在不同的 url 中运行,例如upsourcedev.sepidarr.ir/upsource需要hubdev.sepidarr.ir/hub.

基于有关如何设置反向代理服务器的官方 JetBrains 教程,我创建了如下.conf文件hub

<VirtualHost *:80>

  ServerName dev.sepidarr.ir

  DefaultType none

  RewriteEngine on
  AllowEncodedSlashes on

  RewriteCond %{QUERY_STRING} transport=polling
  RewriteRule /(.*)$ http://localhost:8110/$1 [P]

  ProxyRequests off
  ProxyPreserveHost On

  ProxyPass /hub/ http://localhost:8110/hub
  ProxyPassReverse /hub/ http://localhost:8110/hub

</VirtualHost>

问题是当我导航到dev.sepidarr.ir它时工作正常。但是当我尝试打开时,dev.sepidarr.ir/hub我得到了404 Not Found.

我还使用以下命令将集线器配置为使用自定义基本 URL 运行。

hub.sh configure--listen-port 8110 --base-url https://dev.sepidarr.ir/hub

但什么都没有改变。

4

1 回答 1

2

只需使用这个:

<VirtualHost *:80>

ServerName dev.sepidarr.ir

... REST OF CONFIGS ...

<Location /hub>
    ProxyPass http://localhost:8110/hub
    ProxyPassReverse http://localhost:8110/hub
    Order allow,deny
    Allow from all
</Location>

</VirtualHost>

现在您可以打开dev.sepidarr.ir/hub它并显示它{your_server_id/localhost}:8110/hub

可以根据需要添加尽可能多的Location指令。

于 2017-07-19T06:41:23.520 回答