[英]Assign domain to IP address
我該如何使我的Java應用程序在某個套接字(例如172.16.1.10:8080)上運行HTTP服務器並進行設置,以便當網絡上的另一台計算機連接到域(例如http://myjavadomain.com
)時被重定向到套接字?
如果您使用的是Apache Tomcat,則以下配置將對您有所幫助。
對於Apache Tomcat,您必須在TOMCAT_HOME位置的配置位置中的Host條目上輸入。
請按照以下對您有幫助的步驟
1)在TOMCAT_HOME
的conf
位置中找到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
。 然后,您可以通過Socket
的InputStream
和OuputStream
與客戶端進行通信,您可能會在單獨的線程中進行此操作,以便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.