首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPFound返回的Location标头不包含非标准端口号

问HTTPFound返回的Location标头不包含非标准端口号
EN

Stack Overflow用户
提问于 2012-06-14 13:30:15
回答 1查看 728关注 0票数 2

我有一个Pyramid应用程序在nginx后面(监听端口8080)运行在gunicorn上(监听Unix套接字)。当金字塔视图返回HTTPFound(location='/')时,HTTP响应包含没有端口号的Location: http://example.host/,因此用户收到“无法连接”错误。我不知道在哪里指定非标准端口号,或者(最好)如何在生成Location头时告诉Pyramid从请求中提取端口号。

摘录自应用程序配置:

代码语言:javascript
复制
[server:main]
use = egg:gunicorn#main
host = unix:%(here)s/run/server.sock
workers = 4

Nginx配置:

代码语言:javascript
复制
server {
    listen 8080;
    root /path/to/app;
    location / {
        proxy_pass http://unix:/path/to/app/run/server.sock;
        include proxy_params;
    }
    location /static {
        root /path/to/app/static;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-14 13:53:55

要获取服务器端口,请使用host_port

根据rfc2616的说法,您实际上应该在Location报头中发送绝对URI,而不是相对URI。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11027156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档