[英]nginx + nodejs configuration
我的当前nginx配置有问题。 我想要做的是:
我在stackoverflow上尝试了几种配置,但它们都不符合我的需求。
这是我目前的配置:
# IP which nodejs is running on
upstream app_x {
server 127.0.0.1:3000;
}
# nginx server instance
server {
listen 80;
server_name x.x.x.x;
#access_log /var/log/nginx/x.log;
root /var/www/x/public;
location / {
root /var/www/x/public;
index index.html index.htm index.php;
}
location ^/(.*)$ {
if (-f $request_filename) {
break;
}
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:3000;
}
}
我想我弄明白你要做什么。 正确的方法是将try_files
与命名位置一起使用。
尝试使用以下配置:
# IP which nodejs is running on
upstream app_x {
server 127.0.0.1:3000;
}
# nginx server instance
server {
listen 80;
server_name x.x.x.x;
#access_log /var/log/nginx/x.log;
location / {
root /var/www/x/public;
index index.html index.htm index.php;
try_files $uri $uri/ @node;
}
location @node {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://app_x;
}
}
注意:如果定义了上游,则应在proxy_ pass
使用该上游。 此外,在代理时,始终添加X-Forwarded-For
标头。
我想知道问题是在应用程序路径中。 请从toontuts博客中找到以下代码摘录,以获取有关nodejs的nginx的完整配置,您可以找到此链接
upstream subdomain.your_domain.com {
server 127.0.0.1:3000;
}
server {
listen 0.0.0.0:80;
server_name subdomain.your_domain.com;
access_log /var/log/nginx/subdomain.your_domain.access.log;
error_log /var/log/nginx/subdomain.your_domain.error.log debug;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://subdomain.your_domain.com;
proxy_redirect off;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.