apache - 将配置重写为 HTTPS 不起作用
问题描述
实际上,我在centos 7上使用httpd(apache)进行http到https重定向时遇到了一些问题。在应用程序本身上,我指定了以下URL
https://pwm.mywebsitetest.com
这是一个tomcat应用程序。您会注意到 is 上的位置http
没有pwmAD
, is 就像 thi 因为如果我插入它,当我在浏览器栏上调用链接时我会收到404
错误,因为链接看起来像这样。
https://pwm.mywebsitetest.com/pwmAD/pwmAD/
当它应该只显示一个选项卡时。在 conf 文件之后,下面的代码有什么问题?
######### VHOST per PWM HTTP ###########
<VirtualHost *:80>
ServerAdmin webmaster@mywebsitetest.com
ServerName pwm.mywebsitetest.com
ErrorLog /var/log/httpd/pwm-error_log
CustomLog /var/log/httpd/pwm-access_log combinedXForwardedFor env=!dontlog
RewriteEngine on
RewriteRule ^/$ https://pwm.mywebsitetest.com [L,R=302]
ProxyPreserveHost On
ProxyRequests Off
<Location "/">
ProxyPass http://pwm.mywebsitetest.com:8080/
ProxyPassReverse http://pwm.mywebsitetest.com:8080/
</Location>
</VirtualHost>
########## VHOST per PWM HTTPS ###########
<VirtualHost *:443>
ServerAdmin webmaster@mywebsitetest.com
ServerName pwm.mywebsitetest.com
SSLEngine on
SSLProxyEngine on
SSLStrictSNIVHostCheck off
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/pki/tls/certs/cert_com.crt
SSLCertificateKeyFile /etc/pki/tls/private/cert_com.key
SSLCACertificateFile /etc/pki/tls/certs/cert_CA_Bundle.pem
ErrorLog /var/log/httpd/pwm-error_log
CustomLog /var/log/httpd/pwm-access_log combinedXForwardedFor env=!dontlog
ProxyPreserveHost On
ProxyRequests Off
<Location "/">
ProxyPass http://pwm.mywebsitetest.com:8080/pwmAD/
ProxyPassReverse http://pwm.mywebsitetest.com:8080/pwmAD/
</Location>
</VirtualHost>
解决方案
如果您希望将所有 http 请求重定向到 https,那么您在:80
VirtualHost 中需要的只是:
<VirtualHost *:80>
ServerAdmin webmaster@mywebsitetest.com
ServerName pwm.mywebsitetest.com
ErrorLog /var/log/httpd/pwm-error_log
CustomLog /var/log/httpd/pwm-access_log combinedXForwardedFor env=!dontlog
Redirect / https://pwm.mywebsitetest.com/
</VirtualHost>
推荐阅读
- php - Jquery - 带有 ajax 的产品比较复选框
- css - 更改大纲输入字段中的背景颜色
- android - Android 透明 Activity 没有覆盖整个屏幕
- javascript - 编辑 fullRow 时,Ag-grid 编辑似乎不尊重 rowHeight
- vba - 具有各种标准的 VBA 循环
- getstream-io - 使用 getstream.io 避免不同提要中的重复
- python - 我的代码测试没有通过我的冒泡排序算法
- reactjs - Redux 在开发中工作,似乎在生产中中断
- python - 使用 django 应用程序的 Cron 作业
- ethereum - 使用solidity创建合约但不执行