Nginx反向代理仅适用于Curl

时间:2018-11-24 03:38:25

标签: ssl nginx https server reverse-proxy

我正在使用nginx作为我的节点/ express服务器的反向代理来配置后端,但似乎无法使其正常工作。

现在,如果我使用curl来对站点(dcdocs.app)进行ping操作,则会得到以下标头:

curl -I https://dcdocs.app 


HTTP/2 200 
server: nginx/1.14.0 (Ubuntu)
date: Sat, 24 Nov 2018 03:32:24 GMT
content-type: text/html; charset=UTF-8
content-length: 388
x-powered-by: Express
accept-ranges: bytes
cache-control: public, max-age=0
last-modified: Mon, 19 Nov 2018 15:35:12 GMT
etag: W/"184-1672c9c7c51"

使用curl,响应主体还返回我期望的索引文件。但是,当我在网络浏览器上访问此页面时,没有得到任何答复。

这是我当前配置nginx.conf文件的方式:

user www-data;
worker_processes auto; # Spawn one process per core... To see #, use command nproc

events {
  worker_connections 1024; # Number of concurrent requests per worker... To see #, use command ulimit -n
}

http {

  include mime.types;

  server {
    listen 80;
    return 301 https://$host$request_uri;
  }

  server {

    listen 443 ssl http2;
    server_name dcdocs.app;

    index index.html;

    ssl_certificate /etc/letsencrypt/live/dcdocs.app/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/dcdocs.app/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location / {
       proxy_pass http://localhost:3000;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection 'upgrade';
       proxy_set_header Host $host;
       proxy_cache_bypass $http_upgrade;
    }
  }
}

这是什么引起问题?我缺少什么导致页面无法在浏览器中加载?如果您尝试访问该网站,则浏览器当前仅会挂起。

谢谢!

0 个答案:

没有答案