【发布时间】:2014-11-09 12:09:56
【问题描述】:
我正在尝试设置 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 内部服务器错误。我做错了什么?
【问题讨论】: