如何实现Nginx的强制跳转https协议?

Nginx

1 前言

当前https协议使用已经很普遍,此技术基于ssl实现客户端和服务器之间的安全通讯。
因此https协议受到广泛的欢迎,由于笔者重视安全,故强制所有访问博客的客户端都使用https协议访问。

2 实践部分

2.1 基础环境搭建

请参阅下文搭建http与https的LNMP环境,如果你已经有此环境,请直接跳过。
https://www.cmdschool.org/archives/1

2.2 配置强制跳转

2.2.1 修改配置文件

vim /etc/nginx/conf.d/www.cmdschool.org_80.conf

将80端口的http服务配置文件修改如下:

server {
    listen       80;
    server_name  www.cmdschool.org;

    #location / {
    #    root   /var/www/www.cmdschool.org;
    #    index  index.php;
    #}

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    #检测客户端要访问的uri并强制跳转到https对应的uri
    return 301 https://$host$request_uri;
}

2.2.2 重载或重启服务

systemctl reload nginx

2.2.3 测试访问

http://www.cmdschool.org
观察浏览器是否会跳转到
https://www.cmdschool.org
==================================
参阅文档:
https://jingyan.baidu.com/article/e8cdb32b30f0f537052bada0.html?qq-pf-to=pcqq.c2c

没有评论

发表评论

Nginx
如何解决Nginx代理传大文件不同步问题?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境遇到用户透过反向代理上传大文件提示用户已经完成 …

Nginx
如何实现Nginx根据路径分配代理?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境遇到需要根据URI路径选择走哪个代理服务器的案 …

Nginx
如何实现Nginx返回字符串或变量值?

1 前言 一个问题,一篇文章,一出故事。 笔者测试环境中经常需要返回Nginx变量的具体值,于是整理 …