我有一个Pyramid应用程序在nginx后面的gunicorn上运行(在Unix套接字上监听)(侦听端口8080)。当Pyramid视图返回HTTPFound(location='/')
HTTP响应包含Location: http://example.host/
而没有端口号时,用户会收到“无法连接”错误。我无法弄清楚在哪里指定非标准端口号,或者(最好)如何告诉Pyramid在生成Location
标头时从请求中提取它。
摘自应用程序配置:
[server:main]
use = egg:gunicorn#main
host = unix:%(here)s/run/server.sock
workers = 4
Nginx配置:
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;
}
}