我有一个nginx和节点的问题,因为当我想获取用户节点的ip时,在我的localhost工作正常(没有使用nginx)但在我的服务器不能正常工作.我正在研究并看到节点no是第一个接收ip的节点,是nginx并且在nginx之后将请求发送到节点.然后节点接收的ip是我的服务器而不是用户的ip.看一下配置服务器nignx:
location / {
proxy_pass https://fotogena.co:8000; <-nginx send req to node
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_connect_timeout 1000;
proxy_send_timeout 1500;
proxy_read_timeout 2000;
}
Run Code Online (Sandbox Code Playgroud)
我使用"req.connection.remoteAddress"来了解用户的IP,控制台显示我的服务器的IP.有人知道如何解决这个问题?
感谢:D
----------- 2016年4月20日--------
我可以解决这个问题,在nginx文件设置上使用这一行
proxy_set_header X-Real-IP $remote_addr;
Run Code Online (Sandbox Code Playgroud)
和node.js
req.headers['x-forwarded-for']
Run Code Online (Sandbox Code Playgroud) 我在 Next.js 中有一个项目。我已经上传文件并将其共享到该项目的公共 URL 中。
首先npm run dev,我将文件上传到public文件夹,效果很好,但是当我更改为npm run start并上传文件时,文件上传到public文件夹,但http://mydomain/fileuploaded.jpg没有显示 URL,这种情况很少见,但确实存在。
我在网上搜索但没有找到这个问题的解决方案。