本文参考:https://blog.csdn.net/riba2534/article/details/85330394
由于小程序要求访问的服务器是https的,所以我就在我的腾讯云服务器学着配置了一个。
可以上腾讯云免费申请ssl证书,申请成功之后下载下来,放到你服务器的任意位置。
在/etc/apache2这个目录下,有两个有关的目录sites-available和sites-enabled,我们进入sites-enabled目录下可以发现,里面有一个文件000-default.conf
实质上这个文件是/etc/apache2/sites-available/000-default.conf这个文件的软链接。
我们要配置另 ssl 证书,要依靠另一个文件,也就是default-ssl.conf,首先我们需要设置一个软链接,把这个文件链接到sites-enabled这个文件夹中
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
然后去修改这个文件000-default-ssl.conf,因为已经做了软链接,其实这时候修改000-default-ssl.conf或default-ssl.conf都一样。
然后我们需要修改一下,修改成这样:
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin 你的邮箱 DocumentRoot /var/www/你的目录 ServerName 你的域名 ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on # 注意,需要添加这三行 SSLCertificateFile 你自定义的路径/2_xxx.xxx.xxx.crt SSLCertificateKeyFile 你自定义的路径/3_xxx.xxx.xxx.key SSLCertificateChainFile 你自定义的路径/1_root_bundle.crt <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost>
重要的三个参数的作用如下表:
配置文件参数 说明 SSLEngine on 启用 SSL 功能 SSLCertificateFile 证书文件 SSLCertificateKeyFile 私钥文件 SSLCertificateChainFile 证书链文件
改好之后保存
这时我们加载一下ssl模块:
sudo a2enmod ssl #加载模块 sudo service apache2 restart #重启apache
这时,在浏览器输入https://你的域名应该已经可以通过 https 的方式来访问网站了,这时浏览器那里应该也已经有了一个绿色的小锁。
如果你想要所有的访问都强制使用https的话,可以重定向
我们只需要打开/etc/apache2/sites-available/000-default.conf这个文件,在你的<VirtualHost*:80></VirtualHost>这个标签内随便一个地方加上这三行:
RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
然后启动apache的重定向
sudo a2enmod rewrite
然后重启apache服务就可以啦
大功告成!!!