nginx配置站点强制跳转到 https://www
侧边栏壁纸
  • 累计撰写 114 篇文章
  • 累计收到 21 条评论

nginx配置站点强制跳转到 https://www

SanLiLin
2020-03-24 / 0 评论 / 427 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年02月07日,已超过772天没有更新,若内容或图片失效,请留言反馈。

前言

当前一些主流的浏览器会自动解析www域名指向不带www的域名,但是有时候我们并不想让他这样做,所以就需要做下相应的配置.

代码

在需要强制域名跳转的虚拟主机配置文件中做如下修改即可实现

server {
    listen 80;
    server_name xxx.cn;
    rewrite ^(.*)$ https://www.${server_name}$1 permanent;
}
server {
    listen 80;
    server_name www.xxx.cn;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
    listen 443;
    ssl on;
    server_name xxx.cn;
    rewrite ^(.*)$ https://www.${server_name}$1 permanent;
    ssl_certificate   /etc/nginx/cert/xxxxxxx.pem;
    ssl_certificate_key  /etc/nginx/cert/xxxxxxx.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
}
server {
        listen 443;
        server_name www.xxx.cn;

        ssl on;
        root /xxxx/public;

        # Add index.php to the list if you are using PHP
        index index.php index.htm index.html;

        ssl_certificate   /etc/nginx/cert/xxxxxxx.pem;
        ssl_certificate_key  /etc/nginx/cert/xxxxxx.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        location / {
               try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        }
}
0

评论 (0)

取消