使用nginx下载文件而不是显示响应的静态位置

使用nginx下载文件而不是显示响应的静态位置,nginx,Nginx,到现在为止,我已经读了很多次关于php的这个问题。由于我几乎只使用apache或iis,所以我正在尝试获得nginx的基本功能 我正在运行一个小型Debian9服务器,并试图了解nginx配置的基础知识 nginx.conf文件我几乎没有碰过 user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connec

到现在为止,我已经读了很多次关于php的这个问题。由于我几乎只使用apache或iis,所以我正在尝试获得nginx的基本功能

我正在运行一个小型Debian9服务器,并试图了解nginx配置的基础知识

nginx.conf文件我几乎没有碰过

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
}

http {

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}
但是,default.conf文件由我编辑:

server {

    listen 80 default_server;
    listen [::]:80 default_server;

    server_name 10.20.30.1;

    root /var/www;

    index index.html index.htm index.nginx-debian.html;

}
通过IP访问时,我可以从
/var/www
文件夹中正确加载css文件。因此,包含mime的类型工作得非常好

添加后:

    location /greet {
          return 200 "Hello User!";
    }
我可以访问服务器配置
http://10.20.30.1/greet
但它不是在浏览器中显示消息,而是作为一个没有扩展名的文件下载,名为greet,其中包含我的消息

我发现了许多与php类似的问题。在这种情况下,php现在甚至不应该成为问题

任何建议都会很有帮助


提前谢谢你

return
语句按字面意思发送默认内容类型的文本响应。如果浏览器不知道如何显示给定的内容类型,它将提供下载文件

您可以使用
default\u type
指令告诉浏览器它是纯文本

例如:

location /greet {
    default_type text/plain;
    return 200 "Hello User!";
}

return
语句按字面意思发送带有默认内容类型的文本响应。如果浏览器不知道如何显示给定的内容类型,它将提供下载文件

您可以使用
default\u type
指令告诉浏览器它是纯文本

例如:

location /greet {
    default_type text/plain;
    return 200 "Hello User!";
}

非常感谢你的回答。在你用Firefox发表评论后,我对它进行了测试,结果还是这样。也添加了默认类型,做了应该做的事情非常感谢你的回答。在你用Firefox发表评论后,我对它进行了测试,结果还是这样。也添加了默认类型,做了它应该做的事情