已为我分配了使用Spring Boot进行用户注册和登录的任务。前端,我用过百里香。我在本地主机中开发了该应用程序。
以下是可交付成果
Deliverables
● Source code ---- Done with GitHub
● Public working url of the webapp --- How to do???
● Tests - unit and integration tests. you may also choose to use a ci ---- Done
我想知道如何为在localhost上开发的项目创建公共工作URL。
3 个答案:
答案 0 :(得分:3)
此过程称为deployment
。您可以使用Heroku,只需遵循instructions。最后,您将获得一个http://my-lovely-app.herokuapp.com/之类的URL,该URL是公开的且有效。
答案 1 :(得分:0)
要回答此问题,首先需要了解http请求生命周期的概述:
- 用户在浏览器中输入URL:https://some.domain:8080/request/path?param1=value1¶m2=value2
- 浏览器将URL分为协议方案(“ https”),服务器DNS名称(“ some.domain”),端口(8080),请求路径(“ / request / path”)和查询字符串(“ param1 = value1&param2 = value2“)。如果省略端口,则使用给定协议的默认端口(对于HTTP为80,对于HTTPS为443,等等)
- 浏览器执行DNS查找,以将服务器DNS名称转换为IP地址。
- 浏览器与服务器的IP地址建立TCP连接(理论上HTTP也可以使用UDP,但很少使用,因此我们将跳过这种情况)
- 如果使用HTTPS,则浏览器和服务器将执行TLS握手,在此期间,它们之间会交换并验证彼此的SSL / TLS证书链(通常,只有服务器提供其证书,而浏览器会对其进行验证,但是您可以并在浏览器中安装客户端证书和密钥)
- 浏览器通过TLS(如果使用HTTPS)或通过裸TCP(如果使用HTTP)将HTTP请求发送到服务器。
- 运行适用于您的应用程序的服务器运行软件会将请求路由到该请求,以获得将其发送回浏览器的响应。
第1点,第2点和第6点不需要您进行任何设置。
- 要使第3点正常工作,您需要在某些公共DNS服务器上拥有正确的DNS记录。
- 要使第4点正常工作,您的服务器需要具有ISP分配的公用IP地址。
- 要使第5点正常工作,您的服务器需要安装由某些证书颁发机构颁发的有效SSL / TLS证书(如果仅需要HTTP,则可以跳过它)
- 要使第7点正常工作,您的服务器需要安装适当的软件,并且您的应用程序的安装方式必须与本地开发机类似。
有很多服务可以为您提供全部3个或部分服务,其中一些甚至免费使用,直至达到一定容量。
让我们从服务器和IP地址开始:
- 最严格,最底层的方法是从ISP购买公共IP,并将应用托管在本地计算机上。但是,由于可用性问题,不建议这样做:每当发生网络中断或断电或关闭计算机时,您的应用程序都将关闭。其他解决方案可提供更好的服务水平(它们具有冗余电源,互联网连接和人员,以确保一切皆可24/7运行)
- 一种更高级别的方法是从某个托管公司购买虚拟或专用服务器(在Web上搜索“ VPS”,“专用服务器”或“ VM托管”以在您所在的地区找到一个)。例如Google Cloud Compute Engine,AWS EC2,M $ Azure,OVH)。这些公司将为您提供具有公共IP,完全管理访问权限(通常通过SSH)并对其可用性进行某些保证的服务器(通常范围从99%到99.99%-> 9s越多,价格越贵)。之后,您将需要安装和配置所有必需的软件,以便在此类服务器上运行您的应用程序。这些公司通常在其子域中提供DNS条目,并在包装中提供HTTPS证书,而费用很小甚至为零。他们中的许多人还提供了包含您选择的单独域的软件包,有时还包含证书。
- 最高级的解决方案是云应用程序服务(如其他答案中提到的Heroku,AWS Beanstalk,Google App Engine,kubernetes集群等)。这些服务将提供一个可配置的实例池大小,以托管您的应用程序实例,并在它们前面进行一些负载平衡。这将使您的应用易于扩展,并具有很高的可用性。在大多数情况下,这是最好的解决方案:只需确保给定的服务提供商支持您的应用程序所需的技术堆栈即可。同样,提供此类服务的公司通常会提供带有DNS条目和HTTPS证书的软件包。
如果您需要单独购买DNS域(您不喜欢服务器提供商提供的任何软件包),只需搜索“ DNS名称”或“域名”,您会发现很多经销商。这些转销商将为您提供一个控制台,您可以在其中将服务器的IP地址绑定到DNS名称。
最后,如果您需要获取SSL / TLS证书,还可以在网络上搜索提供商,也可以使用来自https://letsencrypt.org/的免费自动证书
就是这样。
答案 2 :(得分:0)
只需转到命令行并通过键入“ cd(Web应用程序的路径)”导航到您的程序。然后在命令行中输入“ gcloud app deploy”。然后点击指向您网站的链接。