Nginx反向代理Tomcat,并配置301跳转,去掉www

我们的域名在做解析时经常会解析2个域名,即带www的和不带www的。 这样做的目的是,当用户使用不带www的域名时,也可以正常访问你的网站。但是这样做的后果是,你站点主域名的pr值分散到其他几个URL上了。因为在搜索引擎看来,带www和不带www的URL是2个完全不同的URL,当它们指向同一个网站时,会让搜索引擎不懂应该选择哪一个URL作为主要的域名。 如果你用301重定向把其他几个URL如baidu.com转到www.baidu.com时,相应的PR也就集中在主域名:www.baidu.com上了。   这里,前段时间独立开发的 SpringBoot 项目,部署到服务器。 用的是内部 Tomcat,设置端口 80,解析域名后,可以正常访问。我个人希望是输入 http://codergroup.cn 能访问,http://www.codergroup.cn 重定向到 http://codergroup.cn;内部链接也是如此,输入 http://www,codergroup.cn/articles/10006 能跳到 http://codergroup.cn/articles/10006。  

具体步骤如下

1、在 SpringBoot 项目里设置端口为 8080 (这是内置 Tomcat 服务器端口) 2、如果用的是外置 Tomcat,默认就是8080 3、安装 Nginx 4、修改 Nginx 的配置文件
  1. #配置一个代理即tomcat1服务器
  2. upstream tomcat_server1 {
  3.     server localhost:8080;
  4. }
  5. #配置永久跳转
  6. server {
  7.     listen 80;
  8.     server_name codergroup.cn,www.codergroup.cn;
  9.     if  ( $host != 'codergroup.cn'  )  {
  10.         rewrite ^/(.*)$ http://codergroup.cn/$1 permanent;
  11.     }
  12.     location / {
  13.             #域名codergroup.cn的请求全部转发到tomcat_server1即tomcat1服务上
  14.             proxy_pass http://tomcat_server1;  
  15.             #欢迎页面,按照从左到右的顺序查找页面
  16.             index index.jsp index.html index.htm;
  17.     }
  18. }
保存,重载配置  

发表评论

目前评论:1