将NGINX请求传递给Express的配置?

时间:2018-04-21 14:00:45

标签: express nginx

我正在使用NGINX创建一个处理静态内容,SSL和所有内容的网站,而我的API和非静态网站则由Express处理。 现在,我希望NGINX传递类似" / update"表达。但是,我不知道如何配置它。

首先,from DigitalOcean下面的示例是否适用于https网站?我不能配置NGINX用于Express的相同SSL证书,因此它会重定向到https://website.com/update而不是http://website.com/update吗?

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

提前致谢!

1 个答案:

答案 0 :(得分:1)

代理传递以/update开头的任何API请求示例:http://localhost:3000/updatehttp://localhost:3000/update/test等。您可以在服务器块内使用以下nginx配置:

location /update {
        proxy_pass http://localhost:3000;
    }

如果您想将http://website.com/update重定向到https://website.com/update。您将需要在80端口创建一个服务器,该服务器将重定向来自80端口的任何请求将重定向到https://website.com/update

server {
    listen 80;
    listen [::]:80;
    server_name website.com;
    return 301 https://website.com$request_uri;
}