问题描述
我有一个服务器远程控制台Webstart应用程序-jnlp文件,需要通过SOCKS代理进行连接。我所面临的挑战是,我不想更改IE代理或通用Java网络设置来使用jnlp文件,因为它是1)每次都要对其进行更改很乏味; 2)干扰了并行运行到Intranet / internet的其他Java应用程序
我想知道是否可以像下面那样设置代理。这将帮助我使用批处理文件运行jnlp文件,并且代理设置将限于该jvm实例。
javaws -JsocksProxyHost = 127.0.0.1 -JsocksProxyPort = 8080 iLO-jirc.jnlp
javaws版本-11.151.2.12
谢谢
解决方法
这样做的方法是javaws -J-DsocksProxyHost=127.0.0.1 -J-DsocksProxyPort=8080 iLO-jirc.jnlp
。
或使用 javaws -viewer
使用 java Dell iDrac(与您的情况类似)都不适合我,我必须使用 proxychains
才能使其正常工作。像这样
-
javaws viewer.jnlp
在没有配置的情况下启动(不起作用) - 使用
ps aux | grep java
获取完整生成的命令 - 你会得到这样的东西
/usr/lib/jvm/java-8-jdk/jre/bin/java -classpath /usr/lib/jvm/java-8-jdk/jre/lib/deploy.jar -Djava.security.policy=file:/usr/lib/jvm/java-8-jdk/jre/lib/security/javaws.policy -DtrustProxy=true -Xverify:remote -Djnlpx.home=/usr/lib/jvm/java-8-jdk/jre/bin -Djava.security.manager -Djnlpx.origFilenameArg=viewer.jnlp -Djnlpx.remove=false -Dsun.awt.warmup=true -Xbootclasspath/a:/usr/lib/jvm/java-8-jdk/jre/lib/javaws.jar:/usr/lib/jvm/java-8-jdk/jre/lib/deploy.jar:/usr/lib/jvm/java-8-jdk/jre/lib/plugin.jar -Djnlpx.splashport=46417 -Djnlpx.jvm=/usr/lib/jvm/java-8-jdk/jre/bin/java com.sun.javaws.Main viewer.jnlp
- 安装和配置
proxychains
- 然后只需在它前面添加
proxychains
-
proxychains /usr/lib/jvm/java-8-jdk/jre/bin/java -classpath /usr/lib/jvm/java-8-jdk/jre/lib/deploy.jar -Djava.security.policy=file:/usr/lib/jvm/java-8-jdk/jre/lib/security/javaws.policy -DtrustProxy=true -Xverify:remote -Djnlpx.home=/usr/lib/jvm/java-8-jdk/jre/bin -Djava.security.manager -Djnlpx.origFilenameArg=viewer.jnlp -Djnlpx.remove=false -Dsun.awt.warmup=true -Xbootclasspath/a:/usr/lib/jvm/java-8-jdk/jre/lib/javaws.jar:/usr/lib/jvm/java-8-jdk/jre/lib/deploy.jar:/usr/lib/jvm/java-8-jdk/jre/lib/plugin.jar -Djnlpx.splashport=46417 -Djnlpx.jvm=/usr/lib/jvm/java-8-jdk/jre/bin/java com.sun.javaws.Main viewer.jnlp
您可能需要重新下载 viewer.jnlp
两次,因为里面的令牌很快就会过期。
其他一些观察
有时javaws生成的命令有一个奇怪的选项,比如-Djnlpx.vmargs=LURzb2Nrc1Byb3h5SG9zdD1sb2NhbGhvc3QALURzb2Nrc1Byb3h5UG9ydD05MDUxAA==
它是一些奇怪的初始 jnlpx 东西的 base64 编码参数给 -DsocksProxyHost=localhost-DsocksProxyPort=9051
正如 Hugo 所说,您可以使用 javaws -viewer
在以下位置插入您的代理服务器和端口:
General>Network Settings>Use proxy server>Advanced>Socks