Fórumok
Sziasztok!
Nginx-el probalok belso halozatrol kifele publikalni IPMI elerhetoseget.
A dolog mukodik az eleresig. Be tudok jelentkezni, de amikor a Java-s JNLP-t letoltom es csatlakozik, akkor hibauzenetet kapok.
Van valami otlet, hogy mi hianyozhat meg?
Az NginX config:
server {
listen 80;
server_name IPMI.NEM-PUBLIKUS.DOMAIN
location / {
add_header X-Frame-Options SAMEORIGIN;
proxy_set_header Accept-Encoding "";
proxy_store off;
proxy_read_timeout 300s;
proxy_pass http://192.168.0.222;
proxy_set_header Host $host;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Accept-Encoding "gzip";
sub_filter_once off;
sub_filter_types application/x-java-jnlp-file;
}
}
A jnlp:
<jnlp spec="1.0+" codebase="http://IPMI.NEMPUBLIKUS.DOMAIN:80/">
<information>
<title>ATEN Java iKVM Viewer</title>
<vendor>ATEN</vendor>
<description>Java Web Start Application</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<property name="jnlp.packEnabled" value="true"/>
<j2se version="1.6.0+" initial-heap-size="128M" max-heap-size="128M" java-vm-args="-XX:PermSize=32M -XX:MaxPermSize=32M"/>
<jar href="iKVM__V1.69.39.0x0.jar" download="eager" main="true"/>
</resources>
<resources os="Windows" arch="x86">
<nativelib href="libwin_x86__V1.0.12.jar" download="eager"/>
</resources>
<resources os="Windows" arch="x86_64">
<nativelib href="libwin_x86_64__V1.0.12.jar" download="eager"/>
</resources>
<resources os="Windows" arch="amd64">
<nativelib href="libwin_x86_64__V1.0.12.jar" download="eager"/>
</resources>
<resources os="Linux" arch="i386">
<nativelib href="liblinux_x86__V1.0.12.jar" download="eager"/>
</resources>
<resources os="Linux" arch="x86">
<nativelib href="liblinux_x86__V1.0.12.jar" download="eager"/>
</resources>
<resources os="Linux" arch="x86_64">
<nativelib href="liblinux_x86_64__V1.0.12.jar" download="eager"/>
</resources>
<resources os="Linux" arch="amd64">
<nativelib href="liblinux_x86_64__V1.0.12.jar" download="eager"/>
</resources>
<resources os="Mac OS X" arch="x86_64">
<nativelib href="libmac_x86_64__V1.0.12.jar" download="eager"/>
</resources>
<application-desc main-class="tw.com.aten.ikvm.KVMMain">
<argument>http://IPMI.NEMPUBLIKUS.DOMAIN:80/</argument>
<argument>iKVM__V1.69.39.0x0.jar</argument>
<argument>libwin_x86__V1.0.12.jar</argument>
<argument>libwin_x86_64__V1.0.12.jar</argument>
<argument>libwin_x86_64__V1.0.12.jar</argument>
<argument>liblinux_x86__V1.0.12.jar</argument>
<argument>liblinux_x86__V1.0.12.jar</argument>
<argument>liblinux_x86_64__V1.0.12.jar</argument>
<argument>liblinux_x86_64__V1.0.12.jar</argument>
<argument>libmac_x86_64__V1.0.12.jar</argument>
<argument>IPMI.NEMPUBLIKUS.DOMAIN</argument>
<argument>EnS524b+3Xt02lv</argument>
<argument>SO4nPXA==</argument>
<argument>SERVER-001</argument>
<argument>63630</argument>
<argument>63631</argument>
<argument>0</argument>
<argument>0</argument>
<argument>1</argument>
<argument>5900</argument>
<argument>623</argument>
<argument>1</argument>
</application-desc>
</jnlp>
Hozzászólások
No, es milyen hibauzenetet kapsz?
"Connection failed"
Ránézésre ez egy VNC és egy IPMI port a konfigurációba amit ugyanúgy proxyzni kellene, ráadásul ha jól sejtem a VNC tcp, míg az IPMI udp alapú.
Probaltam ezt meg hozza tenni, de nem sikerult igy se.
Lehet h nginx nem tudja proxyzni a forgalmat, mert lehet valami krix-krax binaris vacak megy rajta es nem szoveges forgalom?
Az 5900-en biztos, hogy nem HTTP es nem WebSocket forgalom van. Tehat ide valamilyen portforward kellene, illetve, ha az a celod, hogy tobb gep elereset pakold be egy proxy moge, akkor port forward helyett valamilyen okosabb proxy megoldast kell implementalni, amely ki tudja valahogyan talalni a portra csatlakozo kliensbol, hogy melyik belso gep ipmi portjara kellene forwardolni a dolgokat.
Hat Igen... 5900 http-n nem is mukodott :)
Én is szívtam vele, inkább IPMI 443 és 5900 portforward belső IP-re és source IP-re szűrve lett a megoldás.
Es 20 gepnel ?
mindegyik masik porton?
vagy a forras alapjan szurted, hogy a publikus 443-at hova dobja belul?
De nem kell teljes IPMI eleres. Eleg csak a Java Konzol ha publikalva van.
IKVM/HTML5 tokkeletesen mukodik Nginx-el, csak az a baj, hogy iso-t nem lehet mount oldni rajta, ezert kell a Java :(
20 géphez még nem kellett, de akkor úgy csinálnám, hogy public 11443 és 11590 megy LAN .1-es gép 443 és 5900-ra.
.2-es gépnél pedig public 12443, 12590...stb.
Ha nem ügyfeleknek kell kiadni, akkor a legszebb megoldás, ha VPN hálót csinálsz nekik.
Illetve, ha szűk az ügyfélkör, ezt a VPN hálót nekik is ki lehet adni.
"vagy a forras alapjan szurted, hogy a publikus 443-at hova dobja belul?"
ilyen szűrést nem csináltam, de ha fix a forrás IP, ez sem rossz ötlet.
Mellesleg van valami megoldas, amivel a Javas JNLP-t lehet inditani anelkul, hogy be kelljen lepni az webes feluletre? Nem kell nekik IPMI web eleres. Eleg csak a java.
Gondolom a JNLP-be bele lehet heggeszteni a felhasznalo nevet es a jelszavat is, amikor kapcsolodik.