captndelta Posted September 14, 2012 Posted September 14, 2012 My internet gateway (a FreeBSD box) has a bit of a quirk (designed) in regards to port forwarding via natd, which makes it somewhat impossible to use it with the isy from 'inside' the network as well as from the 'outside' using the same URL (i.e. in mobilinc, ekeypad, etc). Therefore I tried to use apache proxypass to forward the external traffic to my internal isy (which works pretty well for the two security cams I have), however the ISY is giving me trouble. The isy is a 994i, firmware 3.2.6, UI 3.2.6. Here is the apache virtualhost section I'm trying to use on the gateway: ServerName isy.domain.tld ServerAdmin webmaster@domain.tld DocumentRoot /usr/local/www/data ErrorLog /var/log/httpd/isy-errors.log CustomLog /var/log/httpd/isy-access.log common ProxyRequests on ProxyPass / http://isy.homenetwork.domain.tld:80/ ProxyPassReverse / http://isy.homenetwork.domain.tld:80/ The network names all resolve etc, I can access the isy from the "inside" no problem using the 'isy.homenetwork.domain.tld' url given in the ProxyPass statement. Using the 'isy.domain.tld' url from the inside or outside, the web (html) gui works pretty well. Trouble starts when trying to use the 'admin console' applet. It looks as if it starts ok (the blue applet starts, the menus work), but then there is a error box that states XML Parse Error http://isy.domain.tld:80/desc . Clicking that away, the logon button in the file menu is disabled. Clicking on link management results in the following (partial) trace in the console: Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException at com.universaldevices.ui.driver.rcs.RCSProductDriver.isModuleSupported(Unknown Source) at com.universaldevices.ui.driver.UDProductDrivers.addDeviceMenuItems(Unknown Source) at com.universaldevices.ui.UDMenuSystem.makeDeviceSubMenu(Unknown Source) at com.universaldevices.ui.UDMenuSystem.menuSelected(Unknown Source) at javax.swing.JMenu.fireMenuSelected(JMenu.java:1028) at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1107) at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:333) at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:215) at javax.swing.JMenu.setSelected(JMenu.java:294) at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1175) at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:100) at com.apple.laf.AquaMenuUI$AquaMouseInputHandler.mouseEntered(AquaMenuUI.java:134) at java.awt.Component.processMouseEvent(Component.java:6384) Any way to make this work via ProxyPass? The ProxyPass statement should be able to proxy any http request on port 80 of 'isy.domain.tld' to the isy on the inside. Is there another channel open which I'm missing with this proxy? (The error message says port 80, tho) Thanks for any help or clues, -Th
Michel Kohanim Posted September 15, 2012 Posted September 15, 2012 Hello captndelta, The first question I have is: what do you get when you type http://isy.domain.tld:80/desc in your browser. Does it work? If so, can you copy/paste what you see on your browser here? With kind regards, Michel
captndelta Posted September 15, 2012 Author Posted September 15, 2012 Hello captndelta, The first question I have is: what do you get when you type http://isy.domain.tld:80/desc in your browser. Does it work? If so, can you copy/paste what you see on your browser here? With kind regards, Michel Hello Michel, yes, this does work via ProxyPass, the result is: 1 0 http://192.168.1.99 urn:udi-com:device:X_Insteon_Lighting_Device:1 ISY Universal Devices Inc. http://www.universal-devices.com X_Insteon_Lighting_Device:1 ISY 994i 256 1120 uuid:00:21:b9:00:f4:6a uuid:00:21:b9:00:f4:6a urn:udi-com:service:X_Insteon_Lighting_Service:1 urn:udi-com:serviceId:uuid:00:21:b9:00:f4:6a /services.wsdl /services /eventing UDIELKWebServices uuid:00:21:b9:00:f4:6a-UDIELKWebServices /elkServices.wsdl /security/elk UDISEPWebServices uuid:00:21:b9:00:f4:6a-UDISEPWebServices /sepServices.wsdl /sepServices / Am I right to suspect that http://192.168.1.99 has something to do with this (thats the internal IP of the ISY), which would need to be proxied/rewritten in the response? (Just guessing) Thanks for your help, -Th
Michel Kohanim Posted September 15, 2012 Posted September 15, 2012 Thank you. ISY checks the URL base against the requested URL and then decides whether or not you are local. At the moment, ISY thinks that you are remote. This said, you should not have this problem UNLESS http://isy.domain.tld resolves to the same IP address as ISY (192.168.1.99) in which case nothing would work. Is this the case? i.e. if you do nslookup for isy.doman.tld, do you get 192.168.1.99? With kind regards, Michel
captndelta Posted September 15, 2012 Author Posted September 15, 2012 Thank you. ISY checks the URL base against the requested URL and then decides whether or not you are local. At the moment, ISY thinks that you are remote. This said, you should not have this problem UNLESS http://isy.domain.tld resolves to the same IP address as ISY (192.168.1.99) in which case nothing would work. Is this the case? i.e. if you do nslookup for isy.doman.tld, do you get 192.168.1.99? With kind regards, Michel Hello Michel, no, a 'nslookup isy.doman.tld' gives me my outside ip (as it should). Thanks, -Th
Michel Kohanim Posted September 15, 2012 Posted September 15, 2012 Thank you. I notice that the exception is related to RCSDriver which basically rules out anything network related. I think the problem is that the applet is not being downloaded properly. What I recommend is this: 1. Clear your Java cache (very important) 2. Go to http://www.universal-devices.com/99i/admin.jnlp ... this should install an icon on your desktop 3. In the INSTEON Finder, click on the Add button 4. Enter the URL for both the local and the remote 5. Double click on the remote Let me know what you get on in the Java console. With kind regards, Michel
captndelta Posted September 15, 2012 Author Posted September 15, 2012 Thank you. I notice that the exception is related to RCSDriver which basically rules out anything network related. I think the problem is that the applet is not being downloaded properly. What I recommend is this: 1. Clear your Java cache (very important) 2. Go to http://www.universal-devices.com/99i/admin.jnlp ... this should install an icon on your desktop 3. In the INSTEON Finder, click on the Add button 4. Enter the URL for both the local and the remote 5. Double click on the remote Let me know what you get on in the Java console. With kind regards, Michel Ok, did this, including clearing cache. added both URL's to the Finder, the local one was ok, the remote URL ('isy.domain.tld') took some time, then the following was displayed, and the remote URL was not added. Thanks for your help, -Th Edit: there was nothing on the console (no trace etc)
Michel Kohanim Posted September 16, 2012 Posted September 16, 2012 Hello captndelta, Apologies for tardy reply. Ok, at this point, the only thing we can do to diagnose is to login to your ISY remotely (hopefully through the same proxy). If you are OK with this, please send your remote IP address (for the ISY) to tech@universal-devices.com . With kind regards, Michel
captndelta Posted September 16, 2012 Author Posted September 16, 2012 Hello captndelta, Apologies for tardy reply. Ok, at this point, the only thing we can do to diagnose is to login to your ISY remotely (hopefully through the same proxy). If you are OK with this, please send your remote IP address (for the ISY) to tech@universal-devices.com . With kind regards, Michel Hi Michel, no apology needed, we all want our weekends. I have send you the requested info to the given address, please let me know if you need anything else. -Th
Michel Kohanim Posted September 16, 2012 Posted September 16, 2012 Thank you and thanks for sending your URL. It seems that something (perhaps a firewall rule) is blocking Admin Console's request. I suspect it might have to do with one of the http headers which causes the whole message to be filtered out. With kind regards, Michel
Recommended Posts