Apache反向代理不会从80重定向到443



这是我的apache配置。据我所知,从80重定向到443应该可以工作,但事实并非如此。我还尝试了没有引号的Redirect指令并删除了ProxyPass&ProxyPassReversefrom 80 virtual host without avail.

我做错了什么?

<VirtualHost *:80>
ServerName myserver.com
ServerAlias www.myserver.com
ProxyPass / http://myserver.com:8080/
ProxyPassReverse / http://myserver.com:8080/
Redirect "/" "https://myserver.com/"
</VirtualHost>
<VirtualHost *:443>
ServerName myserver.com
ServerAlias www.myserver.com
ProxyRequests Off
RewriteEngine on
# Rewrites websocket configuration
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC,OR]
RewriteCond %{HTTP:CONNECTION} ^keep-alive, Upgrade$ [NC]
RewriteRule .* ws://127.0.0.1:8080%{REQUEST_URI} [P]
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLEngine on
SSLCertificateFile /path/fullchain.pem
SSLCertificateKeyFile /path/privkey.pem
ProxyPass / http://myserver.com:8080/
ProxyPassReverse / http://myserver.com:8080/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>

你能试试这段代码吗?

<VirtualHost *:80>
ServerName myserver.com
ServerAlias www.myserver.com
Redirect Permanent / https://myserver.com/
</VirtualHost>
<VirtualHost *:443>
ServerName myserver.com
ServerAlias www.myserver.com
RewriteEngine on
SSLEngine on
ProxyRequests Off
ProxyPass / http://myserver.com:8080/
ProxyPassReverse / http://myserver.com:8080/
RewriteCond %{SERVER_NAME} =myserver.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
SSLCertificateFile /path/fullchain.pem
SSLCertificateKeyFile /path/privkey.pem
</VirtualHost>

最新更新