我正在Apache服务器后面运行一个express.js
应用程序,只需简单地重写到我的应用程序端口:
RewriteEngine On
RewriteRule ^(.*) http://localhost:61987/$1 [P]
这可以按预期工作。
由于应用程序预计很快就会上线,我也试图通过RewriteRule
添加强制SSL连接。我在节前(即PHP)时代的做法是这样的:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} != on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301, L]
RewriteRule ^(.*) http://localhost:61987/$1 [P]
然而,结合路由到我的快递应用程序,这给了我500内部服务器错误。
处理此设置的正确方法是什么?
答案 0 :(得分:1)
L
中的[R=301, L]
之前有空格。
试试这段代码:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^ http://localhost:61987%{REQUEST_URI} [P]
假设node.js
上的61987
服务器也支持https
。