我制作了一个带有nodejs后端的渐进式Web应用程序。当我将其部署到服务器上时,Chrome无法将该应用识别为PWA。所有其他浏览器都可以(Firefox,Opera ...)。这意味着我没有得到“下载”提示或应用的全屏视图。
在heroku上部署时,它运行良好。我购买了主机,但现在不起作用。主要区别在于该应用程序现在在端口8443上运行,因为Web服务器使用了端口433。我在google上查看后发现,chrome仅在PWA在端口433上运行时才能识别PWA。我问了服务台,他们告诉我使用.htaccess文件。我以前从未与之合作过,而且似乎也无法解决我的问题。它会自动重定向到端口8443,但Chrome仍无法将其识别为PWA。这是我使用的.htaccess文件:
SetEnvIf Request_URI "^(.*)" PORT=8443
RewriteEngine On
RewriteBase /
# CORS
Header add Access-Control-Allow-Origin "*"
# HTTPS
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# PORT
RewriteCond %{SERVER_PORT} !^%{ENV:PORT}$
RewriteRule ^(.*) https://%{HTTP_HOST}:%{ENV:PORT}%{REQUEST_URI} [L,R=301]
# RPROXY
# RewriteRule ^(.*) http://localhost:${ENV:PORT}/$1 [P]
我想知道问题是否真的是因为该应用程序在8443上运行还是是否有我不知道的其他东西。
谢谢!
答案 0 :(得分:0)
我尚未对此进行测试,但是可能使用了vhost和反向代理,因此您仍然可以在端口433上提供应用程序,但可以将请求反向代理到在其他端口上运行的节点服务器。