Barra após domínio em URL ausente para o site Rails

2

Depois de redirecionar os usuários em um aplicativo Rails, por algum motivo, a barra após o domínio está ausente. URLs gerados são inválidos e sou obrigado a corrigi-los manualmente. O problema ocorre apenas em um subdomínio. Em um domínio primário diferente (mesmo servidor), tudo funciona bem.

Por exemplo, depois de fazer logout, o site está direcionando para link em vez de > link

Eu suspeito que o problema tenha algo a ver com a configuração do vhost, mas não tenho certeza. Aqui estão os vhosts quebrados e funcionando:

SUBDOMAIN QUEBRADO

<VirtualHost *:80>
  ServerName www.sub.domain.com
  ServerAlias sub.domain.com
  Redirect permanent / https://www.sub.domain.com
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin [email protected]
  ServerName www.sub.domain.com
  ServerAlias sub.domain.com
  RailsEnv production

  # SSL Engine Switch
  SSLEngine on

  # SSL Cipher Suite:
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

  # Server Certificate
  SSLCertificateFile /path/to/server.crt

  # Server Private Key
  SSLCertificateKeyFile /path/to/server.key

  # Set header to indentify https requests for Mongrel
  RequestHeader set X_FORWARDED_PROTO "https"

  BrowserMatch ".*MSIE.*" \
  nokeepalive ssl-unclean-shutdown \
  downgrade-1.0 force-response-1.0

  DocumentRoot /home/usr/www/www.sub.domain.com/current/public/
  <Directory "/home/usr/www/www.sub.domain.com/current/public">
    AllowOverride all
    Allow from all
    Options -MultiViews
  </Directory>

COMO FUNCIONAR DOMÍNIO PRIMÁRIO

<VirtualHost *:80>
  ServerName www.diffdomain.com
  ServerAlias diffdomain.com
  Redirect permanent / https://www.diffdomain.com
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin [email protected]
  ServerName www.diffdomain.com
  ServerAlias diffdomain.com
  ServerAlias *.diffdomain.com
  RailsEnv production

  # SSL Engine Switch
SSLEngine on

  # SSL Cipher Suite:
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

  # Server Certificate
SSLCertificateFile /path/to/server.crt

  # Server Private Key
SSLCertificateKeyFile /path/to/server.key

  # Set header to indentify https requests for Mongrel
  RequestHeader set X_FORWARDED_PROTO "https"

  BrowserMatch ".*MSIE.*" \
  nokeepalive ssl-unclean-shutdown \
  downgrade-1.0 force-response-1.0

  DocumentRoot /home/usr/www/www.diffdomain.com/current/public/
  <Directory "/home/usr/www/www.diffdomain.com/current/public">
    AllowOverride all
    Allow from all
    Options -MultiViews
  </Directory>
 </VirtualHost>

Por favor, deixe-me saber se há mais alguma coisa que eu poderia fornecer que ajudaria a determinar o que está errado aqui.

UPDATE tentei adicionar uma barra ao comando de redirecionamento, mas ainda sem sorte.

    
por joshee 18.12.2012 / 16:37

2 respostas

0

Perguntou a outro desenvolvedor sobre isso e veja como ele o corrigiu:

Eu fiz um novo arquivo vhost para você. Na configuração anterior do vhost, havia algo errado no nome do servidor e no alias do servidor. Eu removi 'www'. Também adicionei config.force_ssl = true para ambientes / production.rb

<VirtualHost *:80>
  ServerName sub.domain.com
  ServerAlias sub.domain.com www.sub.domain.com
  Redirect permanent / https://sub.domain.com
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin [email protected]
  ServerName sub.domain.com
  ServerAlias sub.domain.com
  RailsEnv production
  RailsBaseURI /

  # SSL Engine Switch
  SSLEngine on

  # SSL Cipher Suite:
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

  # Server Certificate
  SSLCertificateFile /path/to/server.crt

  # Server Private Key
  SSLCertificateKeyFile /path/to/server.key

  # Set header to indentify https requests for Mongrel
  RequestHeader set X_FORWARDED_PROTO "https"

  BrowserMatch ".*MSIE.*" \
  nokeepalive ssl-unclean-shutdown \
  downgrade-1.0 force-response-1.0

  DocumentRoot /home/usr/www/www.sub.domain.com/current/public/
  <Directory "/home/usr/www/www.sub.domain.com/current/public">
    AllowOverride all
    Allow from all
    Options -MultiViews
  </Directory>
 </VirtualHost>
    
por 05.01.2013 / 08:00
0

Estou bastante certo de que você precisa da barra no comando Redirect:

  Redirect permanent / https://www.sub.domain.com/
    
por 18.12.2012 / 17:05