gpt4 book ai didi

python - 使用 Nginx+uWsgi+Web.py 的 HTTP 响应中缺少 header

转载 作者:行者123 更新时间:2023-11-28 19:23:18 25 4
gpt4 key购买 nike

全部,

我的环境是Nginx+uWsgi+Web.py。我得到了以下 HTTP 响应:

   Connection   keep-alive
Date Mon, 28 Oct 2013 09:02:50 GMT
Server nginx
Transfer-Encoding chunked

但是,Apache+mod_wsgi 产生的响应应该是这样的:

   Connection   Keep-Alive
Content-Encoding gzip
Content-Length 26225
Content-Type text/html; charset=UTF-8
Date Mon, 28 Oct 2013 08:08:33 GMT
Keep-Alive timeout=15, max=100
Server Apache
Vary *

因此,缺少很多 header 。想不通....

我的 nginx 配置是这样的:

http {
charset utf-8;

# Set the mime-types via the mime.types external file
include mime.types;

# And the fallback mime-type
default_type application/octet-stream;
#default_type text/html;

# Click tracking!
access_log /var/log/nginx/access.log;

# Hide nginx version
server_tokens off;

# ~2 seconds is often enough for HTML/CSS, but connections in
# Nginx are cheap, so generally it's safe to increase it
keepalive_timeout 20;

# You usually want to serve static files with Nginx
sendfile on;

tcp_nopush on; # off may be better for Comet/long-poll stuff
tcp_nodelay off; # on may be better for Comet/long-poll stuff

server_name_in_redirect off;
types_hash_max_size 2048;

gzip on;
gzip_http_version 1.0;
gzip_comp_level 5;
gzip_min_length 512;
gzip_buffers 4 8k;
gzip_proxied any;
gzip_types
# text/html is always compressed by HttpGzipModule
text/css
text/plain
text/x-component
application/javascript
application/json
application/xml
application/xhtml+xml
application/x-font-ttf
application/x-font-opentype
application/vnd.ms-fontobject
image/svg+xml
image/x-icon;

# This should be turned on if you are going to have pre-compressed copies (.gz) of
# static files available. If not it should be left off as it will cause extra I/O
# for the check. It would be better to enable this in a location {} block for
# a specific directory:
# gzip_static on;

gzip_disable "msie6";
gzip_vary on;

# Upstream to abstract backend connection(s) for PHP
upstream php {
server unix:/run/php-fpm/php-fpm.sock;
}
server {
## listen for ipv4; this line is default and implied
listen 80 default;
## listen for ipv6
#listen [::]:80 default ipv6only=on;

# Make site accessible from http://localhost/
server_name localhost;
server_name_in_redirect off;
charset utf-8;
access_log /log/access.log;
error_log /log/error.log debug;
root /home/www;
index index.html index.htm index.php;
location ~ \.php$ { .... }

location / {
uwsgi_pass unix:/tmp/uwsgi.sock;
include uwsgi_params;
}

}

我的 uWsgi 配置是:

[uwsgi]
plugins = python2
chdir = /home/pycode
module = code
processes = 2
max-requests = 5000
chmod-socket = 666
master = True
vacuum = True
disable-logging = True
enable-threads = True
socket = /tmp/uwsgi.sock
pidfile = /run/uwsgi.pid
workers = 4
reload-mercy = 8
uid = http
gid = http

web.py 上的 python 代码使用 Jinja2 模板,没有任何特殊之处,并且在 Apache+mod_wsgi 中运行良好。

顺便说一句,nginx+php-fpm 在我的案例中产生了正确的响应。所以我猜问题出在 uwsgi 配置上。

有什么帮助吗?

提前致谢。

最佳答案

由于您缺少的 header 是由网络服务器添加的,因此没有缺少 header 。除非配置,否则每个配置(httpd+modwsgi 和 nginx+uwsgi)默认发送一些 header 。

关于python - 使用 Nginx+uWsgi+Web.py 的 HTTP 响应中缺少 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19631322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com