run nodebb on iis cause Error: ipaddr: the address has neither IPv6 nor IPv4
-
the site is on and working
i try to connect with my user and i get 500 and html of the source code site in the resonse of the json
i checked what cause the problem and i found
the function in ipaddr.js get formatundefined as input dont know why
iis log when i connect
14/11 00:22:28 [7608] - [31merror[39m: /login
Error: ipaddr: the address has neither IPv6 nor IPv4
at Object.ipaddr.parse (C:\sites\mysite\node_modules\ipaddr.js\lib\ipaddr.js:583:13)
at Object.Blacklist.test (C:\sites\mysite\src\meta\blacklist.js:68:20)
at middleware.applyBlacklist (C:\sites\mysite\src\middleware\index.js:164:17)
at Layer.handle [as handle_request] (C:\sites\mysite\node_modules\express\lib\router\layer.js:95:5)
at next (C:\sites\mysite\node_modules\express\lib\router\route.js:137:13)
at csrf (C:\sites\mysite\node_modules\csurf\index.js:117:5)
at Layer.handle [as handle_request] (C:\sites\mysite\node_modules\express\lib\router\layer.js:95:5)
at next (C:\sites\mysite\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\sites\mysite\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\sites\mysite\node_modules\express\lib\router\layer.js:95:5)
at C:\sites\mysite\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\sites\mysite\node_modules\express\lib\router\index.js:335:12)
at next (C:\sites\mysite\node_modules\express\lib\router\index.js:275:10)
at Function.handle (C:\sites\mysite\node_modules\express\lib\router\index.js:174:3)
at router (C:\sites\mysite\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (C:\sites\mysite\node_modules\express\lib\router\layer.js:95:5) -
Make sure IIS is forwarding the client's IP Address to NodeBB
-
I don't know. I've never used IIS.
-
this is my web.config file
<configuration> <system.webServer> <handlers> <add name="iisnode" path="/app.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="sendToNode"> <match url="/*" /> <action type="Rewrite" url="app.js" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
-
i dont see anything in iis logs and in output.log in logs folder of nodebb
i wrote in ipaddr.js
in line 583
throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format" + string);
iis logs print :
ipaddr: the address has neither IPv6 nor IPv4 format formatundefined
this is my request
POST /login HTTP/1.1
Host: mysite.com
Connection: keep-alive
Content-Length: 100
Origin: mysite.com
x-csrf-token: EyCm57iR-ckzZLbUtx4iv96r3OWR9x7bjVYw
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: /
X-Requested-With: XMLHttpRequest
Referer: http://mysite.com/login
Accept-Encoding: gzip, deflate
Accept-Language: he-IL,he;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: express.sid=s%3Ax5vzU6uF36diteLyw9xg_DVbXgNl9LA_.MIY34QvMFdPH1k1w2x7i2ES%2B8vIQo%2ByAXqeok%2BhHrt4; io=a7s6sAdWXxSYNTprAAABi dont see the line: Accept-Encoding: gzip, deflate
when i run the site with node localhost
-
found solution
<iisnode enableXFF="true" />
Run NodeJs on iis Tutorial — Steemit
install : nodejs - iis - iisnode - URL Rewrite - setup : add your site to iis and map it… by convertball
Steemit (steemit.com)