我购买了域名www.mydomainname.com 创建了一个Web应用程序并将其部署在ubuntu VS上的glassfish 4.1.1上。 现在,我可以通过访问http://my-public-ip:8080/mydomainname/index.jsp从浏览器访问该应用程序 我需要的是在网络浏览器上输入mydomainname.com并最终在我的应用程序上,而不是在注册商网站的默认页面上。
我尝试在注册商处登录我的帐户并将请求转发至http://mydomainname.com至http://my-public-ip:8080/mydomainname/index.jsp,但仍会在地址栏中显示IP。我该如何做到这一点?
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<listener>
<description>ServletContextListener</description>
<listener-class>com.qualebs.controller.SessionListener</listener-class>
</listener>
<listener>
<description>ServletContextListener</description>
<listener-class>com.qualebs.controller.ContextListener</listener-class>
</listener>
<listener>
<description>fileupload temporary file cleaner</description>
<listener-class>org.apache.commons.fileupload.servlet.FileCleanerCleanup</listener-class>
</listener>
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>com.qualebs.controller.ImageServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>AsyncServlet</servlet-name>
<servlet-class>com.qualebs.controller.AsyncServlet</servlet-class>
</servlet>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<jsp-config>
</jsp-config>
</web-app>
如果部署描述符与此处不相关,则愿意发布任何相关代码。提前谢谢
答案 0 :(得分:1)
您可以将GlassFish配置为侦听端口80,这样您就不需要指定端口号,但这不会给您最大的控制权。
您尝试使用DNS执行的操作可以通过专用负载均衡器或代理更好地处理。有一些可用,但受欢迎的是 apache httpd ; nginx 和 haproxy 。
Apache httpd(通常只称为#34; apache&#34;)是迄今为止使用最广泛的,因此您可能会找到有关如何配置它的更多信息。问题在于,因为它很受欢迎,所以还会有很多令人困惑和解释错误的信息!
我对解决方案的建议是使用Apache和两个名为mod_jk
和mod_proxy
的插件之一。您正在运行Ubuntu,因此有ppa
个可用于Apache和mod_jk
的软件包可以使初始设置更容易(默认情况下包含mod_proxy
)。
您可以使用任何Apache安装指南,因为服务器端不需要配置(在本例中为GlassFish),除非您需要像群集这样的东西,但它似乎并不像您那样。