apache配置https重定向

时间:2023-03-08 23:40:15
apache配置https重定向

legend3---apache配置https重定向

一、总结

一句话总结:

网上找不到答案的原因是因为没有精准的描述问题,没有把问题描述清楚:尽量把关键词描述清楚

1、apache将80端口重定向443的具体步骤(在 VirtualHost 中)?

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
<VirtualHost *:>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
ServerName jenkins.zhuyst.cc
</VirtualHost>

二、Apache配置URL重定向

转自或参考:Apache配置URL重定向
https://www.cnblogs.com/zzhaolei/p/11067781.html

修改/etc/httpd/conf/httpd.conf文件的内容

<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>

<Directory "/var/www">
AllowOverride All
# Allow open access:
Require all granted
RewriteEngine On
RewriteRule /task/* /index.html?$1
</Directory>

二、Apache配置SSL证书以及HTTP重定向HTTPS

转自或参考:Apache配置SSL证书以及HTTP重定向HTTPS
https://blog.****.net/qq_35264464/article/details/80329721

如果一开始只安装了httpd,还要安装mod_ssl才能开启SSL

所以记得yum install mod_ssl

配置HTTPS

  • 前4行按照腾讯云去配置证书文件和秘钥文件
  • ServerName是在DNS解析里配置的A记录
  • ProxyPassProxyPassReverse是我用来代理到8081端口的配置,如果是静态目录应该配置DocumentRoot
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/httpd/cert/jenkins/2_jenkins.bnuztuhms.cn.crt
SSLCertificateKeyFile /etc/httpd/cert/jenkins/3_jenkins.bnuztuhms.cn.key
SSLCertificateChainFile /etc/httpd/cert/jenkins/1_root_bundle.crt ServerName jenkins.bnuztuhms.cn
ProxyPass / http://www.bnuztuhms.cn:8081/
ProxyPassReverse / http://www.bnuztuhms.cn:8081/
</VirtualHost>

HTTP重定向HTTPS

将所有到80端口(HTTP)的请求重写/重定向到443端口(HTTPS)即可,不要忘记ServerName应与443端口的配置一致

<VirtualHost *:80>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
ServerName jenkins.zhuyst.cc
</VirtualHost>