子域的端口

tak*_*hin 6 ubuntu port-forwarding virtualhost hudson apache-2.2

我已经使用 apt-get 安装了 Hudson,并且 Hudson 服务器在example.com:8080.

因为example.com我使用标准端口 *:80 和一些虚拟主机这样设置:

# /etc/apache2/sites-enabled/subdomain.example.com
<Virtualhost *:80>
  ServerName subdomain.example.com
  ...
</Virtualhost>
Run Code Online (Sandbox Code Playgroud)

以下是有关哈德逊过程的信息:

/usr/bin/daemon --name=hudson --inherit --env=HUDSON_HOME=/var/lib/hudson --output=/var/log/hudson/hudson.log --pidfile=/var/run/hudson/hudson.pid -- /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
  987 ?        Sl     1:08 /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
Run Code Online (Sandbox Code Playgroud)

我应该如何转发:

    http:// example.com:8080  
Run Code Online (Sandbox Code Playgroud)

到:

    http:// hudson.example.com
Run Code Online (Sandbox Code Playgroud)

Dav*_*man 11

您需要先在 Apache2 中启用 mod_proxy。因此,以 root 或 sudo 身份运行这些命令:

a2enmod proxy
a2enmod proxy_http
Run Code Online (Sandbox Code Playgroud)

然后,您需要重新启动 apache:

/etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)

您的 HUDSON vhost 文件:

<VirtualHost *:80>
ServerName hudson.example.com
ProxyPass         /  http://localhost:8080/hudson
ProxyPassReverse  /  http://localhost:8080/hudson
ProxyRequests     Off

# Local reverse proxy authorization override
# Most unix distribution deny proxy by default 
# (ie /etc/apache2/mods-enabled/proxy.conf in Ubuntu)
<Proxy http://localhost:8080/hudson*>
  Order deny,allow
  Allow from all
</Proxy>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

再次重启 Apache 以提交新的 vhost:

/etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)
  • Hudson 关于在 Apache 后面运行它的文档:链接
  • 关于运行 ProxyPass 子域的 Apache2.2 文档:链接

  • 找到了一个可能的答案。在 :8080 后面放一个斜杠。当您从 vhost 配置文件中删除“hudson”一词时,您将其删除。所以它看起来像:: **http://localhost:8080/** 在适用的行上。重新启动 apache 并让我知道它是如何工作的。 (2认同)