从零到一快速搭建个人博客网站(域名自动跳转www 使用二级域名)(二)

  备案注销     |      2023-09-30
从零到一快速搭建个人博客网站(域名自动跳转www 使用二级域名)(二)

前言

本文是上一篇文章的改进,从零到一快速搭建个人博客网站(域名备案+https免费证书)(一),如域名自动重定向到www,利用二次域名等

域名自动跳转www

这里对上一篇文章的域名访问进行了优化。首先,域名自动跳转到带www的地址。操作如下:

cd /home/nginx/conf.dvi default.conf 复制当前配置:

#编辑conf.d下的default.confserver {listen 80 default; server_name yangwq.cn;# http自动转https重写^(.*)$ https://$host$1 permanent;}server { 监听443 ssl;服务器名称yangwq.cn; # 配置站点证书文件地址ssl_certificate /etc/letsencrypt/archive/yangwq.cn/fullchain1.pem; # 配置证书私钥ssl_certificate_key /etc/letsencrypt/archive/yangwq.cn/privkey1.pem; # 配置服务器端可以使用的加密算法ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE- ECDSA-AES256-GCM-SHA384:EC DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA -AES128-SHA256:ECDHE-ECDSA-AES128 -SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256 -SHA:DHE-RSA-AES128-SHA256 :DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES -CBC3-SHA:EDH-RSA-DES -CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:决策支持系统'; # 指定优先使用服务器密码算法对于客户端密码算法,使用SSLv3 和TLS 协议ssl_prefer_server_ciphers on; # ssl 版本可用SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2 # ie6 只支持SSLv2, SSLv3 但存在安全问题,所以ssl_protocols TLSv1 TLSv1 不支持.1 TLSv1.2; # 配置TLS握手后生成的会话缓存的大小。 1m可存储约4000个session ssl_session_cache shared:SSL:50m; # 会话超时ssl_session_timeout 1d;com/post/optimize-tls-handshake.html # 1.5.9及以上版本支持ssl_session_tickets关闭; # 浏览器在建立TLS连接时可能会在线验证证书的有效性,从而阻止TLS握手并降低整体速度。 OCSP Stapling是一种优化措施,通过该措施服务器可以将证书颁发机构的OCSP(在线证书状态协议)响应封装在证书链中,从而使浏览器可以跳过在线查询。一方面服务器获取OCSP的速度更快(因为服务器一般都有比较好的网络环境),另一方面可以更好的缓存来自https://imququ.com/post/my-nginx-conf-for-wpo的上述内容.html # 1.3.7及以上版本支持ssl_stapling; ssl_stapling_verify 开启; # 根证书+中间证书ssl_trusted_certificate /etc/letsencrypt/archive/yangwq.cn/fullchain1.pem; # HSTS可以告诉浏览器,在指定的max-age内,始终通过HTTPS访问域名。即使用户输入HTTP地址或者点击HTTP链接,浏览器也会在本地替换为HTTPS,然后发送请求。相关配置参见https://imququ.com/post/sth-about-switch-to-https.html add_header Strict-Transport -Security max-age=60; # 这里填写原来http协议中的配置。 location/{ # 配置转发到本机的halo 端口。注意这里的ip应该是本机的ip。不能使用127.0.0.1,使用ip addr查看本地ip proxy_pass http://171.11.3.13:8080; } error_page 500 502 503 504 /50x.html; location=/50x.html { #将错误页面重定向到/50x.html root /usr/share/nginx/html;复制并修改为:

服务器{听80;服务器名*.yangwq.cn; # 域名为http://yangwq.cn,跳转到https://www.yangwq.cn if ($http_host ~ '^yangwq.cn$') { rewrite ^(.*)$ https://www.$ host$1 permanent; } # 域名不是http://yangwq.cn,统一使用https访问,不加www if ($http_host !~ '^yangwq.cn$') { rewrite ^(.*)$ https://$host$1 permanent ; }}服务器{ 监听443 ssl;服务器名称yangwq.cn; # 配置站点证书文件地址ssl_certificate /etc/letsencrypt/archive/yangwq.cn/fullchain1.pem; # 配置证书私钥ssl_certificate_key /etc/letsencrypt/archive/yangwq. cn/privkey1.pem; # 配置服务器端可以使用的加密算法'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM- SHA256:ECDHE- ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA- AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE- RSA-AES256- SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE- RSA-DES- CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3- SHA:DSS '; # 当指定的服务器密码算法优先于客户端密码算法时,使用SSLv3 和TLS 协议ssl_prefer_server_ciphers on; # ssl 版本可用SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2 # ie6 只支持SSLv2 ,SSLv3 有安全问题,所以不支持ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 配置TLS握手后生成的会话缓存空间,大小为1m,可存储约4000个会话ssl_session_cache shared:SSL:50m; #会话超时ssl_session_timeout 1d ; # 使用负载均衡时,此处暂时关闭。详情参见https://imququ.com/post/optimize-tls-handshake.html # 1.5.9及以上版本支持ssl_session_tickets关闭; # 浏览器在建立TLS连接时可能会在线验证证书的有效性,从而阻止TLS握手并减慢整体速度。 OCSP Stapling是一种优化措施,通过该措施服务器可以将证书颁发机构的OCSP(在线证书状态协议)响应封装在证书链中,从而使浏览器可以跳过在线查询。一方面服务器获取OCSP的速度更快(因为服务器一般都有比较好的网络环境),另一方面可以更好的缓存来自https://imququ.com/post/my-nginx-conf-for-wpo的上述内容.html # 1.3.7及以上版本支持ssl_stapling; ssl_stapling_verify 开启; # 根证书+中间证书ssl_trusted_certificate /etc/letsencrypt/archive/yangwq.cn/fullchain1.pem; # HSTS可以告诉浏览器,在指定的max-age内,始终通过HTTPS访问域名。

即使用户输入HTTP地址或者点击HTTP链接,浏览器也会在本地替换为HTTPS,然后发送请求。相关配置参见https://imququ.com/post/sth-about-switch-to-https.html add_header Strict-Transport -Security max-age=60; # 如果直接使用https://yangwq.cn访问,需要跳转到带www的域名if ($host ~ '^yangwq.cn$') { rewrite ^(.*)$ https://www.$host$1 permanent; } # 这里填写原来http协议中的配置location/{ # 定义首页的索引目录和名称proxy_pass http://171.11.3.13:8080; } error_page 500 502 503 504 /50x.html; location=/50x.html { #heavy 将错误页面定向到/50x.html root /usr/share/nginx/html; }} 将上面的yangwq.cn部分复制并替换为您的域名,这样我们访问yangwq.cn.cn时就会自动跳转到https://www.yangwq。

二级域名https

申请二级域名

由于博主是阿里云购买的域名,所以这里的域名申请仅针对阿里云购买的域名。

从域名解析列表中添加需要使用的二级域名:

上面我们添加了一个temp.yangwq.cn的二级域名,它指向yangwq.cn域名的地址。此时通过temp.yangwq.cn访问失败。原因是需要等待网络服务提供商刷新DNS地址。一般需要等待1-2分钟。

此时,当我们访问temp.yangwq.cn时,会默认跳转到www.yangwq.cn的首页。为了方便测试,我们需要配置temp.yangwq.cn访问nginx默认页面。

修改配置如下:

vi default.conf# 在终端服务器附加以下脚本{listen 443 ssl;服务器名称temp.yangwq.cn;位置/{ 根/usr/share/nginx/html;索引index.htmlindex.htm; } error_page 500 502 503 504 /50x.html; location=/50x.html { #将错误页面重定向到/50x.html root /usr/share/nginx/html;由于我们在上一篇文章中申请了通配符https证书,所以我们可以直接使用https访问temp.yangwq.cn,我们会看到这样的页面:

小结

至此,我们的二级域名就配置完成了。如果我们需要二级域名跳转到内部应用,只需要修改以下内容

# 更改为你要代理的应用所在位置/{ # 注意这里要使用本机的ip,而不是127.0.0.1,本机ip使用命令ip addr查看proxy_pass http://ip:port;} copy