【问题标题】:Domain url redirecting to localhost in apache2域 url 重定向到 apache2 中的 localhost
【发布时间】:2015-09-20 21:01:48
【问题描述】:

在将我的域名映射到在 8000 端口上运行的托管 django 应用程序时遇到问题。我看过很多关于这个问题的帖子,但我认为我错过了一些东西。我尝试了很多方法,但都失败了。我的域名是coachingfunda.com,它与我在Godaddy 中的ec2 公共IP 地址映射。我的 000-default.conf 文件是

    LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
    LoadModule proxy_http_module        /usr/lib/apache2/modules/mod_proxy_http.so
  LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
LoadModule deflate_module  /usr/lib/apache2/modules/mod_deflate.so

  <VirtualHost *:80>
  WSGIScriptAlias /wsgi/ /home/ubuntu/public_wsgi/
 #ProxyPreserveHost On
  #ProxyPass / http://nrollin.com:8080/nrollin
    # The ServerName directive sets the request scheme, hostname and         port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
     #ProxyPassMatch ^(.*)$ http://localhost:8000/$1
   #ProxyPass / http://coachingfunda.com/
  # ProxyPassReverse / http://127.0.0.1:8000/
ServerAlias www.coachingfunda.com
 ServerName coachingfunda.com
  #AliasMatch ^/(.*)  http://www.coachingfunda.com:8000/$1
Redirect permanent http://coachingfunda.com http://www.coachingfunda.com:8000/
    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf

您可以看到此 url 正在运行 http://coachingfunda.com:8000/,这意味着我的应用程序已正确托管,但 http://coachingfunda.com 正在重定向到 localhost:8000。

这个问题看起来很愚蠢,但我被困了大约 2 天。请在这里帮助我。我的 coachingfunda.conf 是

   <VirtualHost *:8000>
    ServerAdmin webmaster@mydomain.com
    ServerName coachingfunda.com
    ServerAlias www.coachingfunda.com
    WSGIScriptAlias /  /var/www/coachingfunda/index.wsgi

    Alias /static/ /home/ubuntu/coachingfunda/static/
    <Location "/static/">
  Options -Indexes
    </Location>
   <Directory "/home/ubuntu/coachingfunda/static/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
   </Directory>
    </VirtualHost>

请帮助我。任何建议都可以。

【问题讨论】:

  • 你的 conf 中有这一行 Redirect permanent http://coachingfunda.com http://www.coachingfunda.com:8000/
  • 对 'coachingfunda.com' 使用 'curl' 看起来不错。您使用重定向“永久”可能会导致浏览器缓存该事实。尝试其他浏览器或清除浏览器缓存。顺便提一句。为什么不直接在 80 端口上运行 Django?
  • 另外建议你阅读blog.dscpl.com.au/2012/10/…不要使用嵌入模式。最好使用守护模式。

标签: django ubuntu amazon-ec2 apache2 hosting


【解决方案1】:

备份您的默认配置并将站点中的配置复制到默认配置中,然后重新加载并重新启动服务器。

【讨论】:

  • 他们也需要将端口从 8000 更改为 80。
  • 感谢您的快速回复。你们两个的建议拯救了我的一天。我一定会通过 Graham 建议的链接 :)
猜你喜欢
  • 2016-08-13
  • 2010-09-28
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-27
相关资源
最近更新 更多