ubuntu+apache2设置访问、重定向到https

时间:2023-07-21 22:54:26
ubuntu+apache2设置访问、重定向到https

环境:ubunt14裸机,apache2,php5

条件:证书(部分商家买域名送一年),域名,为了方便均在root用户下进行的

web目录:/var/www/test

证书目录(自建):/etc/apache2/cert

1.给apache2开启ssl、rewrite

a2enmod ssl

a2enmod rewrite

2.配置https的vhost文件(文件名:443www.conf)

 <VirtualHost *:443>
ServerAdmin hkdnxycz@outlook.com
ServerName www.xxxx.com
  #证书设置
SSLEngine on
SSLCertificateFile /etc/apache2/cert/www.crt
SSLCertificateKeyFile /etc/apache2/cert/www.key
SSLCertificateChainFile /etc/apache2/cert/bundle.crt
  #web根目录
DocumentRoot /var/www/test
  #日志
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

3.建立链接(site-enabled下)

可以  ln 创建,也可以  a2ensite 443www   创建

4.service apache2 reload(装上那俩模块,感觉放第一步后面更合理一点)

5.service apache2 restart(重启apache2)

---------------------------------------------以上   https可以访问了-------------------------------------

为了让www.xxxx.com和xxxx.com也跳转到https://www.xxxx.com,再改动点东西

6.创建vhost文件(80www.conf) 

<VirtualHost *:80>
ServerName www.xxxx.com
ServerAlias xxxx.com
DocumentRoot /var/www/test
RewriteEngine On
RewriteRule ^/(.*?)$ https://www.xxxx.com/$1 [R]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

7.重复步骤3和5

现在,无论访问xxxx.com或者www.xxxx.com,都是跳转到https://www.xxxx.com

吐槽:糟心的ubuntu没有apache,自然也没有httpd.conf文件,更没有ssl_module文件咯,本文也是结合网上内容整合的,仅适用于apache2.

结语:留个笔记,方便大家,同时自己以后用也好找。除代码外纯手打,个别错误还请让他错着吧。。