2013-03-14 1 views
2

J'ai développé une application Catalyst, qui fonctionne via le serveur de développement de catalyseur, par exemple, localhost:3000. Ensuite, j'ai configuré Apache aux demandes de proxy à http://myhost/myapp/ à localhost:3000 en utilisant mod_proxy.Comment configurer l'URL de base d'une application Catalyst?

Je voudrais maintenant que Catalyst sache qu'il a été déplacé publiquement à l'URL de base myapp/ et en tenir compte lors de la formation d'URL via uri_for.

Comment puis-je le faire?

+0

Avez-vous une raison d'utiliser un proxy de cette manière? Pourquoi ne pas simplement utiliser Apache pour exécuter l'application Catalyst? –

+0

Il s'agit d'un hébergement mutualisé et l'installation de mod_fcgi semble plus fastidieuse que de proxy. Dans tous les cas, la configuration de la racine de l'application devrait faire l'objet d'une seule option de configuration, n'est-ce pas? –

+0

Probablement ce n'est même pas correct ou pourrait être vu comme un hackery, mais essayez de modifier votre URL de base dans Root :: auto comme cette base $ c-> req-> ($ c-> req-> base. 'Myapp/') '. Cela suppose que vous l'utilisiez aussi simple que vous l'avez décrit et qu'une chaîne statique est suffisante. – ArtM

Répondre

1

KT, la chose la plus facile à faire est d'installer Catalyst::TraitFor::Request::ProxyBase, car il est spécialement conçu pour remplacer la base de requêtes par la valeur transmise par le proxy HTTP.

Le module est complètement transparent et ne nécessite aucune modification de l'application existante.

Questions connexes