簡體   English   中英

將域分配給IP地址

[英]Assign domain to IP address

我該如何使我的Java應用程序在某個套接字(例如172.16.1.10:8080)上運行HTTP服務器並進行設置,以便當網絡上的另一台計算機連接到域(例如http://myjavadomain.com )時被重定向到套接字?

如果您使用的是Apache Tomcat,則以下配置將對您有所幫助。

對於Apache Tomcat,您必須在TOMCAT_HOME位置的配置位置中的Host條目上輸入。

請按照以下對您有幫助的步驟

1)在TOMCAT_HOMEconf位置中找到server.xml文件。2)在server.xml文件中,輸入以下主機條目

<Host name="www.xyz.com" debug="0" appBase="webapps/mynewhost" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="mynewhost_log." suffix=".txt" timestamp="true"/>
</Host>


In appBase property place the location of your web app 

3)現在,在瀏覽器中打開上面的URL。

如果要運行完全成熟的HTTP服務器,則可能要使用一些外部庫。 例如, Tomcat用Java編寫,但是還有SUN的httpserver軟件包 如果您只是一個簡單的套接字服務器,則可以使用java.net包中的內置類:

ServerSocket server = new ServerSocket(8080);

while (running) {
    Socket socket = server.accept();
    handleConnection(socket);
}

這將偵聽端口8080上的傳入套接字連接,並在客戶端連接時創建一個新的Socket 然后,您可以通過SocketInputStreamOuputStream與客戶端進行通信,您可能會在單獨的線程中進行此操作,以便ServerSocket可以繼續偵聽來自其他客戶端的傳入連接。

至於問題的第二部分:默認情況下,Web瀏覽器將連接到端口80,您可以通過多種方式進行端口轉發。 該網站提供了一種使用iptables的可能解決方案:

iptables -t nat -I PREROUTING --src 0/0 --dst 172.16.1.10 -p tcp --dport 80 -j REDIRECT --to-ports 8080

但是最簡單的解決方案是在連接到計算機時直接指定端口號,例如

http://myjavadomain.com:8080

假設已配置您的DNS,以便將myjavadomain.com解析為172.16.1.10。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM