微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – 在端口3000上运行的Express应用程序的nginx配置

我正在尝试设置Nginx,以便它在端口3000上运行应用程序.

当我访问mydomain.com:3000时,应用程序正常运行.我想让它在没有端口的情况下运行.

我有Nginx设置,它正常工作.
我有一个SSL证书设置,它正常工作(我能够看到SSL的Nginx起始页)
我有www重定向正常工作.

我现在要做的部分是使用在端口3000上运行的内容并使其在端口80上运行.

这是我的配置文件

upstream myapp {
  server 127.0.0.1:3000;
}

server {
    #listen 80 is default
    server_name www.mydomain.com;
    return 301 $scheme://mydomain.com$request_uri;
}

server {
    listen 80;
    listen   [::]:80;
    listen   443 default ssl;
    ssl on;
    ssl_certificate    /root/certs/bundle.crt;
    ssl_certificate_key    /root/certs/mydomain.key;   

    server_name mydomain.com;

    if ($ssl_protocol = "") {
       rewrite ^   https://$server_name$request_uri? permanent;
    }

    location / {
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header  Host $http_host;
      proxy_redirect  off;
      try_files @node $uri.html;
    }

    location @node {
      proxy_pass https://myapp;
    }

}

当我使用此设置访问该页面时,出现500内部服务器错误.我究竟做错了什么?

解决方法

我想通了,因为我使用SSL,我需要确保它是https.这是我的最终配置:

upstream app_nodejs {
  server 127.0.0.1:3000;
}

server {
    #listen 80 is default
    server_name www.mydomain.com;
    return 301 $scheme://mydomain.com$request_uri;
}

server {
    listen 80;
    listen   [::]:80;
    listen   443 default ssl;
    ssl on;
    ssl_certificate    /root/certs/bundle.crt;
    ssl_certificate_key    /root/certs/mydomain.key;   

    server_name mydomain.com;

    if ($ssl_protocol = "") {
       rewrite ^   https://$server_name$request_uri? permanent;
    }

    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_set_header X-Nginx-Proxy true;

      proxy_pass https://app_nodejs;
      proxy_redirect off;
    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐