kar1024 Posted April 8, 2018 Author Posted April 8, 2018 @kzboray, Something weird started happening with Host Headers for NodeLink http requests. If you give NodeLink dedicated IP and access it by IP - it works fine. Any request sent to DNS name fails with 400 error as though HostHeader is missing. Does not matter what NodeLink runs on (I tried docker, Pi and regular VM). @io_guy , I was able to run NodeLink in windows server container, but it only works on my PC. As I learned, docker on linux starts a VM in order to start windows server containers. My hardware does not support nested VMs so I cannot run docker containers with windows My networking environment relies on layer 7 routing so I have to use hostnames to access web services. The only workaround short of rebuilding all of routing is to disable NodeLink updates and stay on 0.9.11 On 4/1/2018 at 6:13 PM, io_guy said: Seems to be a mono issue. I don't have a solution besides using the IP.
io_guy Posted April 8, 2018 Posted April 8, 2018 That doesn't make sense. OSI layer 3 is always available. Just because you're playing on 7, it funnels down. If it doesn't, fix your network.
kar1024 Posted April 8, 2018 Author Posted April 8, 2018 @io_guy 7 hours ago, io_guy said: That doesn't make sense. OSI layer 3 is always available. Just because you're playing on 7, it funnels down. If it doesn't, fix your network. If OSI3 level was sufficient - we would not need proxies. Proxies! Great idea!!! That's exactly what I need to solve the problem. Add nginx to forwards all traffic sent to Nodelink by URL to Nodelink IP/Port. Default nginx config passes host header. All you have to do is comment out that line: server { listen 8090; listen 8090; server_name nodelink.[my domain]; location / { proxy_pass http://[Nodelink-IP]:$server_port/; # proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
kar1024 Posted April 9, 2018 Author Posted April 9, 2018 @io_guy Not sure how many people are affected by the IP vs. DNS problem. If its just me - I have my workaround. If more people have the same issue - I would be happy to write up better instructions on how to setup nginx or create a docker image with nginx built-in. There instructions will vary quite a lot based on the environment. Pi/Debian are straightforward, not so with docker version of Nodelink on a NAS. I am only familiar with Synology which has its own nginx. Configuring it requires root+SSH and beginner can easily mess up the system by mistake.
io_guy Posted April 9, 2018 Posted April 9, 2018 No need, I have it resolved in the next release. Mono sees OS X and Linux as the same OS and I had to put code in to fix an issue where OS X would not allow a wildcard interface registration for the http server (Linux and Windows will). So I added some additional non-mono code to split Linux from OS X.
GDavis01 Posted April 12, 2018 Posted April 12, 2018 I have been trying to access NodeLink remotely using a Dynamic DNS (No-IP) without success! I am getting the error "Bad Request (Invalid Host)"... is this the same issue being discussed here, which will be fixed in the next release? I have a port forwarded to 8090 with BOTH (UDP and TCP) protocols chosen on my router. The port forwarding works for my other access points (PolyGlot,; SSH to Raspberry pi and iMac; and an IP Cam. If it isn't the same issue are there any thoughts on what is going wrong?
GDavis01 Posted April 12, 2018 Posted April 12, 2018 Should be the same issue Ok thanks for the reply. I’ll wait for the next release. Sent from my iPhone using Tapatalk
kar1024 Posted May 21, 2018 Author Posted May 21, 2018 @io_guy Just wanted to let you know that 0.9.13 resolved my issues with host headers. Moved back from Debian to dockered NodeLink. Thank you for your help and for building such a great product!
Recommended Posts
Archived
This topic is now archived and is closed to further replies.