配置服务器实现了Nginx的https访问,配置文件同时支持了80端口以及443端口的访问,详见博文《为nginx服务器开启https》,如果只希望用户通过https访问站点,我们还需要改动一下配置文件,在80端口的设置部分写入一条跳转语句。
server {
listen 80;
server_name www.biib.top;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
因为80端口不再负责处理数据,所以原有语句被大幅删减,仅加入了一句重定向语句:
rewrite ^(.*)$ https://${server_name}$1 permanent;
该语句从左至右可以分为四个部分,分别为rewrite命令、正则表达式、替换式样以及标志位(permanent),permanent返回301永久重定向,一般用于重定向到完整的url(包含http[s]:部分)。rewrite只会对相对路径进行匹配,假设用户输入浏览器地址栏的网址为http://www.biib.top/1.php,本句中的正则表达式会匹配“1.php”这个字段,并将值赋给 $1,替换部分获得 $1 的值,并将其组装于 ${server_name} 之后,在本站中,最终的地址就成了:
https://www.biib.top/1.php