2010-06-20 16 views
0

我有一個項目,它只是一個快速入門原型,用於服務器配置。我添加了一些應用程序代碼,但並沒有真正做任何事情來改變默認的碼頭配置。從外部防火牆無法到達檢票口快速入門

我可以在本地運行和測試我的應用程序中使用: http://localhost:8080 或: http://bekkar:8080(我的電腦的網絡名稱) 或: http://192.168.1.2:8080/(我的電腦的本地IP)

我想從訪問我的檢票口的應用我的路由器防火牆外。 (我最終會在我的黑莓上測試它,但現在我使用谷歌瀏覽器嘗試在外部訪問它。)

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

我使用: http://###.###.###.###:8080 我得到一個屏幕,上面寫着Authentication Required,詢問用戶名和密碼。我沒有在我的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中的不同信息: 糟糕!谷歌瀏覽器無法連接到###。###。###。###:8080

如何使我的wicket jetty quickstart能夠從我的路由器防火牆外訪問?我不知道這是一個檢票口/碼頭問題(屬於SO)還是防火牆問題(屬於serverfault),所以我先在這裏發佈。

謝謝!

回答

1

首先,試着用簡單的apache或woof。一定要將其綁定到0.0.0.0(所有IP)。 A)如果你不能達到它,這是路由器配置問題。 B)如果有效,你知道它不是碼頭/ wicket配置。

情況A)我不知道那個路由器,但是尋找端口轉發。我無法獲得華碩WL500gP通過的請求,所以我不是這裏的合適人選:)

case B)Jetty是否綁定到0.0.0.0?你可以通過本地網絡上的其他機器訪問它嗎?

沒有太多有用的答案,但我希望它有一點幫助。

+0

感謝這些意見,我會嘗試一下,當我有機會 – RMorrisey 2010-06-22 06:30:38

1

我一直在我的系統上運行jetty/wicket應用程序並遠程訪問它們。我不認爲我已經用Jetty做過什麼特別的事情,尤其是沒有做這個工作的檢票口。但是如果它有幫助,這裏是一個Start.java文件的示例(這是來自我的一個應用程序 - 不確定它是否與快速啓動中的相同,因爲我現在沒有快速啓動):

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上。如果是,請將其關閉,因爲它可能會干擾端口轉發。

+0

我試着改變碼頭端口爲4242,並改變服務定義,看看是否會這樣做。我仍然得到「糟糕!」頁面在鉻,所以這似乎不是問題。我也嘗試禁用我的CA防火牆。我的Start.java看起來像這樣。 +1幫助無論如何=) – RMorrisey 2010-06-22 06:30:18

+0

@Rmorrisey:我真的認爲你應該更多地關注你的防火牆和/或系統配置。除了路由器的防火牆之外,你的系統中可能還有iptables,Norton或其他防火牆。我敢打賭,它與您的檢票口配置或實施無關。祝你好運! – Tauren 2010-06-26 08:59:20

+0

謝謝!我很確定你是對的,我只是沒有時間坐下來再試一次 – RMorrisey 2010-06-28 23:08:42