nginx设置不带www的https跳转到带www的https地址

一旦域名加上了证书,我们一般都希望所有的请求都重定向到一个url,这样在搜索引擎在爬取的时候就可以集中在一个地址,有利于SEO

譬如:

我们想要以下这三个域名都重定向到https://www.xiaoben707.com

http://www.xiaoben707.com

http://xiaoben707.com

https://xiaoben707.com

我们在nginx需要做以下两个设置:

第一:

server {
	listen 80;
	server_name xiaoben707.com www.xiaoben707.com;
	return 301 https://www.xiaoben707.com$request_uri;
}

这个意思很简单,把80端口的xiaoben707.com和www.xiaoben707.com永久重定向到https://www.xiaoben707.com

第二:

server {
	listen 443;
	server_name xiaoben707.com;
	return 301 https://www.xiaoben707.com$request_uri;
    ssl_certificate /etc/letsencrypt/live/xiaoben707.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/xiaoben707.com/privkey.pem; # managed by Certbot
}

这里是将https://xiaoben707.com重定向到https://www.xiaoben707.com,值得注意的事,这里也需要xiaoben707.com的证书。我一般用certbot直接生成。

原文地址:https://www.cnblogs.com/lzhd24/p/9575609.html

时间: 2024-08-02 00:01:55

nginx设置不带www的https跳转到带www的https地址的相关文章

nginx 设置错误的自定义404页面跳转到500

5年前写的站, 当时是在apache下写的error page, 换了nginx后, 404页面直接跳到了500 服务器内部错误. 只需要在配置 try_files 的时候指定一下就可以了 我的是debian, 在/etc/nginx/site-available/default 里面location / server{ </pre><pre name="code" class="plain"> location / { <span s

让不带www的域名跳转到带www的域名

域名不带www和带www不是同一码事:前者称作根域名,后者是前者的二级域名.长久以来,人们都习惯了访问网站的时候带上www,所以大多数站长朋友域名解析的时候都是带www的和不带www的一起解析.然而对于搜索引擎来说,还是会给你区分2个域名的,站在seo的角度来看,我们最好是把不带www的域名301定向到带www的域名去,以防止权重流失.下面介绍Nginx和Apache下的301定向方法 nginx下的301重定向方法 if ($http_host !~ “^www.coolfish.cn$”)

IIS7设置将域名不带www跳转到带www上

很多朋友在IIS环境中搭建好网站后,习惯性将带www和不带www的域名都绑定到一个网站上,这样做虽然两个域名都能访问,但容易造成权重分散,从而导致网站权重降低.其实我们可以将访问不带www的域名自动跳转到带www的域名,例如访问taotaozaixian.com时浏览器自动跳转到www.taotaozaixian.com,浏览器地址显示的也是www.taotaozaixian.com.总结网上的方法,有两种方法比较常用:第一种是设置网站301重定向.优点是设置快速简单:缺点是要建立两个站点,一个

Apache环境利用.htaccess文件设置域名301跳转(不带www跳转到带www)

相信很多站长朋友都遇见过这样的问题,即带www的域名与不带www的域名同时都被收录,但域名权重情况差距很大.这问题主要是由于搜索引擎把这两个域名当做两个不同网站看待,导致一个域名被判定是镜像网站造成的.毫无疑问,不管是带www还是不带www,唯一域名能够给你的网站带来更多的好处.这样无论是用户还是搜索引擎,都会记住你网站的唯一域名,也不会造成搜索引擎的误判而导致惩罚.下面本文就来介绍一下Apache环境下利用.htaccess文件设置301跳转,强制用户或搜索引擎重定向到唯一域名. #301重定

Nginx+Tomcat+SSL配置(包括https跳转及腾讯免费SSL申请流程)

网上有非常多的nginx+ssl相关配置的文档,但大都是很简单的写一下如何改配置文件,并没有完整的配置流程,我自己找了很久才找到免费的ssl证书,然后直到网站可以正常运行经过了很多测试,写这篇的目的也是为了帮助阅读者能少走些弯路,还有就是不得不提醒,免费证书只有一年的使用期,而且安全度肯定不如收费证书,这点上希望大家能有所权衡! 一.免费SSL证书申请 网址:https://console.qcloud.com/ssl/apply 1. 2. 3.在你申请的二级域名上添加CNAME记录,添加完成

微信小程序:nginx 设置HTTPS

微信小程序需要HTTPS服务. 程序是NGINX做前段代理,现将NGINX设置HTTPS做个总结 微信小程序需要HTTPS服务,并且有相关要求: 开发通过https://www.qcloud.com/product/ssl#userDefined10 检测SSL,显示之前配置的https未能通过.主要是算法和域名没通过. 具体操作命令如下 1 先生成key,并设置密码 openssl genrsa -des3 -out server_new.key 2048 2 通过key 再生成csr ope

nginx设置404 500页面跳转至首页,K哥

2015.9.29 开发找我说网站要设置个页面跳转 nginx设置404 500页面跳转至首页 什么是404页面? 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found 为什么要自定义404页面? 在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄

log_format为Nginx设置日志格式

nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式, 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,一般在nginx的配置文件中日记配置(/usr/local/nginx/conf/nginx.conf). nginx的log_format有很多可选的参数用于指示服务器的活动状态,默认的是:log_format  access  '$remote_addr - $remote_user [$time_local] "$request

nginx设置日志不记录404或者200或者其他日志信息

这里我们用到的是ngx_log_if,它是Nginx的一个第三方模块. 第一步: 先到Github下载ngx_log_if地址https://github.com/cfsego/ngx_log_if/ ,你可以下载压缩包,然后在解压unzip  ngx_log_if-master.zip 第二步 编译安装nginx   ./configure   --prefix=/usr/local/nginx   --with-pcre  --add -module=/root/ngx_log_if-mas