Apache 非80/443端口http强制跳转https

Linux2022-05-20
Apache 非80/443端口http强制跳转https-下一朵云
图1 LINUX APACHE

因文件服务器在内网通过端口映射的方式到公网,所以映射端口为非常用端口55524,因为安全要求服务器配置了ssl证书,所以每次访问必须输入https,如果直接输入域名+端口号访问就会默认为http,返回一个报错页面,如下图

Apache 非80/443端口http强制跳转https-下一朵云
图1 未配置报错

于是就在网上各种查,Apache http强制跳转https的,结果不管是在vhost的配置文件添加还是网站根目录的.htaccess文件里边配置全部都是80端口跳转443的

1.那么,如何解决Apache非80/443端口http强制跳转https呢?

其实,很简单,因为每次访问都会返回400的错误,我们直接在vhost的配置文件里边添加一行,将400跳转到https即可

##
## SSL Virtual Host Context
##
## 非默认443端口,需要添加监听
##
Listen 55524
<VirtualHost _default_:55524>
# 
DocumentRoot "/example"
ServerName example.com

#强制跳转https
ErrorDocument 400 https://example.com:55524/
#
#更多无关内容省略……
#

2.再次访问http://[域名]:55524,就可以自动跳转到https了

Apache 非80/443端口http强制跳转https-下一朵云
图2 配置后自动跳转