前言

最近想写一个前端vue组件开发文档,同事说为啥不配置一个子域名。我一脸懵逼
今天没事,同事帮我配置了一番,顺便把https弄了

一、子域名

  • 配置域名解析
    image.png
  • nginx配置
server {
    listen       443 ssl;
	## 子域名重点,下面是SSL证书配置
    server_name  doc.idearyou.cn;
    ssl_certificate     /etc/nginx/ssl/doc.idearyou.cn.pem;
    ssl_certificate_key /etc/nginx/ssl/doc.idearyou.cn.key;

        gzip on;
        gzip_buffers 32 4K;
        gzip_comp_level 6;
        gzip_min_length 100;
        gzip_types application/javascript text/css text/xml;
        gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
        gzip_vary on;

    location / {
        root /work/vue/dist;
                index index.html index.htm;
                try_files $uri $uri/ /index.html;
                if ($request_filename ~* .*\.js$) {
                        add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
                }
    }
}
## 预防http也可以访问
server {
    listen 80;
    server_name doc.idearyou.cn;
    rewrite ^(.*)$ https://$server_name$1 permanent;
}

二、ssl证书配置

  • ssl证书申请下载(两个文件)放到服务器某个目录下
/etc/nginx/ssl/doc.idearyou.cn.pem;
/etc/nginx/ssl/doc.idearyou.cn.key;
  • nginx配置
server {
    #监听443,https的端口,这里不需要配置www
    listen    443 ssl;
    server_name  www.idearyou.cn idearyou.cn;
    #指定ssl文件路径
    ssl_certificate     /etc/nginx/ssl/www.idearyou.cn.pem;
    ssl_certificate_key /etc/nginx/ssl/www.idearyou.cn.key;

    client_max_body_size 1024m;

    location / {
    }
}
## 预防http也可以访问
server {
    listen 80;
    server_name www.idearyou.cn idearyou.cn;
    rewrite ^(.*)$ https://$server_name$1 permanent;
}

重点: server_name后域名一定要带前缀,比如www,子域名则带子域名前缀