我正在尝试将我的一个 apache 域转发到另一个端口(该端口托管一个由 Nginx 支持的 rails 应用程序)
在我的特定虚拟主机的 http.conf 中我有:
<VirtualHost x.x.x.x:80 [2407:e700:0002:0000:0000:0000:c4b3:36fb]:80>
ServerName subdomain.domain.com.au
ServerAlias www.subdomain.domain.com.au
DocumentRoot /home/user/public_html/app
ServerAdmin [email protected]
UseCanonicalName Off
CustomLog /usr/local/apache/domlogs/subdomain.domain.com.au combined
CustomLog /usr/local/apache/domlogs/subdomain.domain.com.au-bytes_log "%{%s}t %I .\n%{%s}t %O ."
## User user # Needed for Cpanel::ApacheConf
UserDir enabled user
<IfModule mod_suphp.c>
suPHP_UserGroup user user
</IfModule>
<IfModule concurrent_php.c>
php4_admin_value open_basedir "/home/user:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
php5_admin_value open_basedir "/home/user:/usr/lib/php:/usr/local/lib/php:/tmp"
</IfModule>
<IfModule !concurrent_php.c>
<IfModule mod_php4.c>
php_admin_value open_basedir "/home/user:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/home/user:/usr/lib/php:/usr/local/lib/php:/tmp"
</IfModule>
<IfModule sapi_apache2.c>
php_admin_value open_basedir "/home/user:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
</IfModule>
</IfModule>
<IfModule !mod_disable_suexec.c>
<IfModule !mod_ruid2.c>
SuexecUserGroup user user
</IfModule>
</IfModule>
<IfModule mod_ruid2.c>
RMode config
RUidGid user user
</IfModule>
<IfModule itk.c>
# For more information on MPM ITK, please read:
# http://mpm-itk.sesse.net/
AssignUserID user user
</IfModule>
ScriptAlias /cgi-bin/ /home/user/public_html/app/cgi-bin/
Include "/usr/local/apache/conf/userdata/std/2_2/user/subdomain.domain.com.au/*.conf"
</VirtualHost>
然后我在 /usr/local/apache/conf/userdata/std/2_2/user/subdomain.domain.com.au/*.conf 有一个文件,其中包含以下内容:
ProxyPass / http://x.x.x.x:3013/
ProxyPassReverse / http://x.x.x.x:3013/
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
有什么明显的错误吗?
编辑:我说的不工作是指当我浏览 subdomain.domain.com.au 时,它向我显示一个标题为“/ 的索引”的页面,其中列出了一个 cgi-bin 文件夹,页脚告诉我“由 LiteSpeed Web 服务器端口 80 自豪地提供服务”,因此它根本没有被转发。如果它被正确转发,我期望看到我的 rails 应用程序的根页面。
答案1
我认为你的 apache 不知道该文件的存在。
/usr/local/apache/conf/userdata/std/2_2/user/subdomain.domain.com.au
您的 apache.conf 是否指定 apache 位于该路径中?
如果你跑
netstat -pan |监听
...该端口是否显示正在被监听?
看起来 apache 正在按照 vhost conf 文件中指定的方式引导流量。我不确定它应该做其他什么,因为这就是你告诉它的。
如果您想要重新路由的是那个虚拟主机,为什么里面会有那么多垃圾,为什么不包含该子域的代理指令?