首页 文章

无法从外部防火墙到达wicket快速入门

提问于
浏览
0

我有一个项目,出于服务器配置的目的,它只是一个wicket快速入门原型 . 我添加了一些应用程序代码,但没有真正做任何事情来改变默认的jetty配置 .

我可以使用以下命令在本地运行和测试我的应用程序:http://localhost:8080或:http://bekkar:8080(我的PC的网络名称)或:http://192.168.1.2:8080/(我的PC的本地IP)

我想从路由器防火墙外部访问我的wicket应用程序 . (我最终将在我的Blackberry上测试它,但是现在我正在使用Google Chrome来尝试从外部访问它 . )

使用http://www.whatismyip.com/我找到了路由器的IP .

我使用:http://###.###.###.###:8080并且我得到一个显示需要身份验证的屏幕,要求输入用户名和密码 . 我的wicket应用程序中没有设置任何类型的身份验证 .

我有一个NetGear路由器,WGR614v7 . 使用路由器管理员,在端口转发下,我添加以下自定义服务:

Service Name=wicket
Starting Port=8080
Ending Port=8080
Server IP Address=192.168.1.2 //my computer's local IP

添加端口转发服务定义后,我收到来自Chrome的不同消息:糟糕! Google Chrome无法连接到### . ### . ### . ###:8080

如何从路由器防火墙外部访问我的检票口快速入门?我不知道这是一个wicket / jetty问题(属于SO)还是防火墙问题(属于serverfault),所以我先在这里发布 .

谢谢!

2 回答

  • 1

    首先,尝试简单的apache或woof . 一定要将其绑定到0.0.0.0(所有IP) . A)如果你无法达到它,那就是路由器配置问题 . B)如果有效,你知道它不是jetty / wicket配置 .

    案例A)我不知道路由器,但寻找端口转发 . 我无法让华硕WL500gP通过请求,所以我不是正确的建议:)

    情况B)Jetty是否绑定到0.0.0.0?你能从本地网络上的其他机器到达它吗?

    没有太多有用的答案,但我希望它有所帮助 .

  • 1

    我一直在我的系统上运行jetty / wicket应用程序并远程访问它们 . 我不认为我对Jetty有什么特别之处,尤其不是wicket来完成这项工作 . 但如果它有帮助,这里有一个示例Start.java文件(这是来自我的一个应用程序 - 不确定它是否与quickstart中的相同,因为我现在没有快速入门):

    public class Start {
    
        public static void main(String[] args) throws Exception {
            Server server = new Server();
            SocketConnector connector = new SocketConnector();
    
            // Set some timeout options to make debugging easier.
            connector.setMaxIdleTime(1000 * 60 * 60);
            connector.setSoLingerTime(-1);
            connector.setPort(8080);
            server.setConnectors(new Connector[] { connector });
    
            WebAppContext bb = new WebAppContext();
            bb.setServer(server);
            bb.setContextPath("/");
            bb.setWar("src/main/webapp");
    
            // START JMX SERVER
            // MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
            // MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
            // server.getContainer().addEventListener(mBeanContainer);
            // mBeanContainer.start();
    
            server.addHandler(bb);
    
            try {
                System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
                server.start();
                System.in.read();
                System.out.println(">>> STOPPING EMBEDDED JETTY SERVER"); 
                // while (System.in.available() == 0) {
                //   Thread.sleep(5000);
                // }
                server.stop();
                server.join();
            } catch (Exception e) {
                e.printStackTrace();
                System.exit(100);
            }
        }
    }
    

    我正在使用DLink路由器,所以我不确定如何配置你的 . 但是,您还应检查路由器,看它是否已打开远程Web管理员,以及它是否在端口8080上 . 如果是,请将其关闭,因为它可能会干扰您的端口转发 .

相关问题