![](/img/trans.png)
[英]How can I serve my root page from a CDN in Node.js / Express.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.