[英]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.