Apache2 Configuration That Allows a Subdomain Point to an Machine:Port

▼魔方 西西 提交于 2020-01-24 19:48:05

问题


I own the domain, "peterlee.com.cn", and I added an A Record in my domain control panel:

RR                  Destination IP   TTL
rs.peterlee.com.cn  10.50.10.75      1 hour

I have an RoR (Ruby on Rails) project running on 10.50.10.75:9051, which means the user can visit my RoR application by http://10.50.10.75:9051

I want to let the user visit it by http://rs.peterlee.com.cn, so I added the following VirtualHost File/Site:

<VirtualHost *:80>
    ServerName rs.peterlee.com.cn
    DocumentRoot /usr/website/myapp/current/public
    PassengerEnabled off
    ProxyPass / http://127.0.0.1:9051/
    ProxyPassReverse / http://127.0.0.1:9051/
    RackEnv production
    RailsEnv production

    <IfModule mod_rewrite.c>
        RewriteEngine On

        # Redirect all requests to the maintenance page if present
        RewriteCond %{REQUEST_URI} !\.(css|gif|jpg|png)$
        RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
        RewriteCond %{SCRIPT_FILENAME} !maintenance.html
        RewriteRule ^.*$ /system/maintenance.html [L]
    </IfModule>

</VirtualHost>

After enabling the site and restarting the Apache2, I tried http://rs.peterlee.com.cn, it gives me the 500 Internal Server Error:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/2.2.22 (Ubuntu) Server at rs.peterlee.com.cn Port 80

Thanks.

Peter


回答1:


I found the following warning in /var/log/apache2/error.log:

[Thu Jul 19 10:22:20 2012] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
[Thu Jul 19 10:22:20 2012] [warn] proxy: No protocol handler was valid for the URL /favicon.ico. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

So I enable the following modules:

sudo a2enmod proxy proxy_balancer proxy_http

After restarting Apache2, it worked!

Thanks anyway.

BTW: I start the service using Passenger:

passenger start -a 127.0.0.1 -p 9051 -e production -d


来源:https://stackoverflow.com/questions/11565194/apache2-configuration-that-allows-a-subdomain-point-to-an-machineport

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!