使用nginx作为反向代理并阻止任何HTTP请求

使用nginx作为反向代理并阻止任何HTTP请求,nginx,nginx-reverse-proxy,Nginx,Nginx Reverse Proxy,我使用nginx作为flaskapi的反向代理。当我发出http请求时,我仍然会收到API响应,而据我所知,我应该会收到一个400错误 我已经尝试了所有我能找到的关于这个话题的东西,但是我不能让它正常工作。我只是用返回代码替换了重定向 例如,我使用了这个指南 默认文件 server { listen 80; server_name _; return 400; } server { listen 443

我使用nginx作为flaskapi的反向代理。当我发出http请求时,我仍然会收到API响应,而据我所知,我应该会收到一个400错误

我已经尝试了所有我能找到的关于这个话题的东西,但是我不能让它正常工作。我只是用返回代码替换了重定向

例如,我使用了这个指南

默认文件

    server {
        listen 80;
        server_name _;
        return 400;
    }

    server {
        listen 443 ssl;
        server_name _;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;
        ssl on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH: !aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        ssl_prefer_server_ciphers on;
        location / {
            # reverse proxy and serve the app # running on the localhost: 8000 proxy_pass http: //127.0.0.1:8000/;
            proxy_set_header HOST $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

结果应该是,当您发出http请求时,您应该会收到一个错误,当您发出https请求时,您应该会收到JSON响应。

您需要删除
ssl on指令

listen
中的
ssl
标志将处理它


您还可以选中

您需要删除上的
ssl指令

listen
中的
ssl
标志将处理它


您也可以查看

很抱歉这么晚才回答,但我还有其他问题要先解决。我试过了,但是我仍然能够从http得到200个答案。你知道怎么防止吗?很抱歉这么晚才回答,但我还有其他问题要先解决。我试过了,但是我仍然能够从http得到200个答案。你知道怎么防止吗?