簡體   English   中英

如何使用 NGINX 為我的網站和 node.js 應用程序提供服務?

[英]How can I serve both my website AND a node.js app with NGINX?

我在https://mydomain.co.uk有一個網站,它有一個使用 nodemailer 的表單、一個 server.js 文件、一個 app.js 文件來處理表單數據。 我一直在關注本教程,以利用 nginx 作為反向代理。 我在mydomain.co.uk服務器塊中包含以下內容

location / {
                proxy_pass http://localhost:80;
                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;
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ =404;
        }

現在,當我嘗試訪問https://mydomain.co.uk時,我遇到了太多重定向錯誤。

我在mydomain.co.uk上運行了 certbot,在我嘗試設置反向代理之前,它運行得非常好。

我知道代理配置是我的瀏覽器出錯的原因,但是我不知道如何設置配置。

我已經看過這個答案,但看不到它如何適用於我正在做的事情。

附加功能

我有使用pm2運行的server.js文件,並且我已將 env 設置為生產環境

pm2 start ecosystem.config.js --env production

ecosystem.config.js .config.js 看起來像這樣

module.exports = {
  apps : [
      {
        name: "myserver",
        script: "server.js",
        watch: true,
        env: {
            "PORT": 3000,
            "NODE_ENV": "development"
        },
        env_production: {
            "PORT": 80,
            "NODE_ENV": "production",
        }
      }
  ]
}

我錯過了什么?

嗨伙計:)您需要代理傳遞到節點的端口。 您現在在 nginx 中錯誤地配置了端口和指令。 但是,nginx 發送請求到 80,所以,它是默認的,並且再次......它重復循環無限。

正確指示

server {
    listen 80;
    listen [::]:80;

    server_name mydomain.co.uk;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html;

    charset utf-8;

    # There 3000 port your development nodejs running port

    location / {
          proxy_pass http://localhost:3000/;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_cache_bypass $http_upgrade;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM