uri_for包含redirect上的端口号

uri_for包含redirect上的端口号,第1张

概述uri_for包含redirect上的端口号

我试图实现一个Catalyst应用程序使用Nginx作为静态文件的前端Web代理,并使用starman作为我的后端Web服务器。 (我可以使用Apache和FastCGI,它工作得很好,但我真的希望得到整个Psgi / Plack和starman的东西)

starman启动好了,可以在http://localhost:5000上处理我的请求。 当我启动Nginx作为我的前端代理时,无论何时何地使用$c->uri_for方法,我的url都会变得丑陋,并随着端口号(5000)而$c->uri_for 。

例如:

$ C-> uri_for( “/login”)

http://myapp.example.com:5000/login

而不是

http://myapp.example.com/login

我有一些日志正在创build,所以我可以看到什么X-Forwarded-Host和X-Forwarded-For被设置为。 对于普通的请求,有一些值(来自Nginx),但是每当使用$c->uri_for方法时,这些值都不存在。

我在哪里可以find使用Nginx,starman,Plack和Catalyst的应用程序运行时错误?

如果删除了日志文件,则uWsgi日志logging不能正常工作

为什么在Catalyst / Plack / starman上使用Nginx?

如何为使用fastcgi和perlbrew在Nginx上运行的Perl催化剂应用程序创buildinit脚本

perl催化剂www到非wwwredirect

有没有其他人有这个问题?


我是否在configurationNginx或Catalystconfiguration文件时丢失了其他的东西?

谢谢!

Nginxconfiguration:

服务器{

听80;

server_name myapp.example.com;

位置/静态{

root / data / users / MyApp / root;

到期30天;

}

位置 / {

proxy_set_header主机$主机;

proxy_set_header X-Forwarded-Host $ host;

proxy_set_header X-Real-IP $ remote_addr;

proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;

proxy_pass http:// localhost:5000 /;

}

}

事件虽然这将运行在相同的物理服务器上,在MyAppconfiguration我已经设置:

MyApp-> config(using_frontend_proxy => 1)

版本:

催化剂:5.80024

Nginx:0.7.67

Plack:0.9942

starman:0.2006

我的问题是在我的myapp.psgi文件。

从Catalyst :: Engine :: Psgi看看Plack::MIDdleware::ReverseProxy :

... use Plack::Builder; use MyApp; MyApp->setup_engine('Psgi'); my $app = sub { MyApp->run(@_) }; builder { enable_if { $_[0]->{REMOTE_ADDR} eq '127.0.0.1' } "Plack::MIDdleware::ReverseProxy"; $app; };

在我的情况下,前端是在一个不同的主机,并添加

MyApp->config(using_frontend_proxy => 1)

确实有所作为并解决了这个问题。

总结

以上是内存溢出为你收集整理的uri_for包含redirect上的端口号全部内容,希望文章能够帮你解决uri_for包含redirect上的端口号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1292847.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-10
下一篇2022-06-10

发表评论

登录后才能评论

评论列表(0条)

    保存