记一次linux下apache配置https及重定向
配置https时需要ssl证书,证书获取方式现在也很多,就不多说。这次生成证书是用的github上的一个项目生成的,还是比较方便。传送门:点此进入。
生成文件后需要移动文件到指定的目录,例如: /etc/httpd/ssl/ #ssl文件夹不存在,需要自己创建,也可以是其他名字,不要和系统文件名冲突即可。
移动cert文件 acme.sh --install-cert -d example.com --cert-file /path/to/certfile/in/apache/cert.pem #cert.pem为自定义名字,
example.com为自己的域名,本地配置的域名也可
移动key文件 acme.sh --install-cert -d example.com --key-file /path/to/keyfile/in/apache/key.pem #key.pem为key文件
移动fullchain文件 acme.sh --install-cert -d example.com --fullchain-file /path/to/fullchain/certfile/apache/fullchain.cer
生成证书以后,配置httpd/conf.d/ssl.conf。开启两行文件:
SSLCertificateFile /etc/httpd/ssl/fullchain.cer #这是通过上述程序生成的fullchain.cer
SSLCertificateKeyFile /etc/httpd/ssl/xxx.com.key #这是上述生成的xx.key文件
下一步配置http-vhosts.conf
<VirtualHost *:80> ServerAdmin test.com #自己的域名 DocumentRoot "/var/www/pro" #修改为自己的项目路径 ServerName test.com #自己的域名 #HTTP_TO_HTTPS_START #301-START 开启重定向,将http重定向到https <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://test.com/$1 [R=301,L] </IfModule> </VirtualHost> <VirtualHost *:443> ServerAdmin test.com DocumentRoot "/var/www/pro" ServerName test.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCertificateFile /etc/httpd/ssl/fullchain.cer SSLCertificateKeyFile /etc/httpd/ssl/test.com.key </VirtualHost>
以上就配置完成了http到https。
注:rewrite模式需要开启modules/mod_rewrite.so
重启apache 使用不同方式安装apache可以使用不同的命令重启
service httpd reload
以上就是全部内容,有遗漏的后续再补充。

浙公网安备 33010602011771号