Nginx代理服务器通行证适用于https,但不适用于http

我想将HTTPstream量和HTTPSstream量redirect到后端Flask应用程序,我在我的nginx.conf中有下面的代码片段,它适用于https,但不适用于http

服务器{
听80;
听443 ssl;
 ssl_certificate /usr/local/nginx/server.crt;
 ssl_certificate_key /usr/local/nginx/server.key;

位置 / {
         proxy_redirectclosures;
         proxy_cacheclosures;
         proxy_pass http://127.0.0.1:5000;
         proxy_set_header主机$ http_host;
         proxy_set_header X-Real-IP $ remote_addr;
         proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
 }
 }

有没有人有任何指针? 有没有在configuration文件片段中明显的东西,或者我安装Nginx的错误?

谢谢!

我相信你需要一个单独的HTTP server块。 例如:

 server { listen 80; location / { proxy_redirect off; proxy_cache off; proxy_pass http://127.0.0.1:5000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 

你会删除listen 80; 从现有的server块。

我在yum上的Redhat16机器上安装了nginx。 在删除了etc / nginx / conf.d目录的内容之后,一切都按预期工作。 看起来这个目录中的某个东西不支持http proxy_pass。