试图让nginx代理我的node.js应用程序,并使用它的域。我将有许多域映射到服务器,所以我为每个服务器块使用单独的.conf
文件。我现在遇到的问题是,当我转到域时,似乎只能显示默认的nginx页面。我将尝试尽可能清楚地解释当前设置,如果您需要更多信息,请告诉我。
nginx.conf更改
我将我的应用程序文件的根路径设置为root /var/www;
,例如,某个应用程序将部署到文件夹/var/www/example.com
。
服务器块配置
我为服务器块/etc/nginx/conf.d/example_com.conf
创建了一个新文件,其中包含
server
{
listen 80;
listen [::]:80;
server_name example.com www.example.com;
location /var/www
{
proxy_pass http://localhost:3103;
include /etc/nginx/proxy_params;
}
}
请注意,转到我的http://myip:3103会渲染应用程序,并且文件/etc/nginx/proxy_params
包含
proxy_buffers 16 32k;
proxy_buffer_size 64k;
proxy_busy_buffers_size 128k;
proxy_cache_bypass $http_pragma $http_authorization;
proxy_connect_timeout 59s;
proxy_hide_header X-Powered-By;
proxy_http_version 1.1;
proxy_ignore_headers Cache-Control Expires;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
proxy_no_cache $http_pragma $http_authorization;
proxy_pass_header Set-Cookie;
proxy_read_timeout 600;
proxy_redirect off;
proxy_send_timeout 600;
proxy_temp_file_write_size 64k;
proxy_set_header Accept-Encoding '';
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $host;
proxy_set_header Proxy '';
proxy_set_header Referer $http_referer;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Original-Request $request_uri;
我在这里做错什么了吗?您是否需要更多信息?请告诉我! nginx对我来说是个新手,我觉得我超级亲密,我只是注意到了解一些东西。谢谢!
答案 0 :(得分:0)
您的配置提供了如下请求处理:
如果您没有静态文件,并且所有请求都必须由应用处理,那么您应该像这样修改配置:
location /
{
proxy_pass http://localhost:3103;
include /etc/nginx/proxy_params;
}
如果您有nginx可以提供的静态文件,则应该使配置复杂一些,例如here或here。
Here is文档,用于了解nginx的工作原理。