Passager Apache Rails 403 interdit. 2 URL indiquant la même application 1 fonctionne autre ne

J’ai un problème étrange où j’ai deux URL distinctes pointant vers la même application Rails

  1. staging.abcxyz.com
  2. staging.abcttt.com

Ma configuration fonctionne avec passager. La chose importante à noter ici est que les deux URL pointent vers la même application Rails dans le répertoire racine du document et sont simplement servies par des URL différentes en interne.

Problème

Lorsque j’essaie d’accéder à staging.abcxyz.com, cela fonctionne et l’application est rendue et tout fonctionne comme prévu.

Lorsque j’essaie d’accéder à staging.abcttt.com, apache retourne un 403 interdit.

Apache Config

Ceci est la configuration apache de l’URL qui ne fonctionne pas pour moi. C’est exactement la même chose que celle qui fonctionne pour les changements dans les URL.

 ServerName staging.abcttt.com ServerAlias www.staging.abcttt.com DocumentRoot /srv/abcxyz/current/public/  Order allow,deny Allow from all Options FollowSymLinks AllowOverride None  RewriteEngine on RewriteRule ^/$ /s/home [P] RailsAutoDetect On RackEnv staging RailsEnv staging RailsSpawnMethod smart ## PassengerAppGroupName # # By default, Passenger groups applcations by the the path they are served out of, # ie /srv/yourapp/current. # # At times, it may be useful be serving the same app from multiple vhosts, but have # them be have different workers. For example, you may have a /ping URL that needs to # respond quickly, without being affected by the rest of the app. In this case, you can: # # * create a new vhost pointing at the same app # * set PassengerAppGroupName to ping # * configure a proxy to forward /ping to the new vhost PassengerAppGroupName abcxyz # Deflate  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript application/json BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html  RequestHeader set X-Request-Start "%t" RewriteEngine On # Check for maintenance file and redirect all requests ErrorDocument 503 /system/maintenance.html RewriteCond %{REQUEST_URI} !\.(css|jpg|png|gif)$ RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f RewriteCond %{SCRIPT_FILENAME} !maintenance.html RewriteRule ^.*$ /system/maintenance.html [R=503,L] # Rewrite index to check for static RewriteCond %{THE_REQUEST} ^(GET|HEAD) RewriteCond %{DOCUMENT_ROOT}/index.html -f RewriteRule ^/?$ /index.html [QSA,L] # Rewrite to check for Rails non-html cached pages (ie xml, json, atom, etc) RewriteCond %{THE_REQUEST} ^(GET|HEAD) RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f RewriteRule ^(.*)$ $1 [QSA,L] # Rewrite to check for Rails cached html page RewriteCond %{THE_REQUEST} ^(GET|HEAD) RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.html -f RewriteRule ^(.*)$ $1.html [QSA,L]  

Des questions

  1. Je ne comprends pas pourquoi ce serait un problème de permissions car staging.abcxyz.com peut déjà accéder au dossier. Est-ce que je manque quelque chose ici puisque les deux sont servis dans le même répertoire

  2. Pourrait-il y avoir quelque chose à faire avec le PassengerAppGroupName – mais je ne suis pas particulièrement préoccupé par le fait qu’un agent séparé envoie des réponses à une requête particulière

J’apprécierais vraiment toute aide à ce sujet. Merci.

Mettre à jour

Une chose que je remarque est que si j’utilise le flag R [redirect] au lieu du P [proxy], l’application fonctionne et redirige vers le bon URL mais je veux être une redirection interne qui ne se reflète pas sur le navigateur.