nginx实现301(加密)跳转和200跳转

       我们用nginx实现301跳转,下面我们先讲一下实现的大概思想,首先我们用yum或者编译安装nginx,然后配置nginx的主配置文件的子文件,(在配置子文件的时候可以把默认文件先注释掉)配置好子文件之后重启nginx服务器。然后就可以去测试你想要的结果啦。(前提是把防火墙关掉,例如:selinux、firewalld、iptables等一切的环境)

第一步:清理环境

1:首先查看firewalld的状态

# systemctl status friewalld

没有关闭,要关闭firewalld

systemctl disable firewalld

2:查看selinux的状态

# getenforce(显示enforcing是开启的状态,显示disable是关闭的状态)

没有关闭则编辑vim /etc/selinux/conf

把selinux=enforcing改成selinux=disabled(重启后生效)

3:查看iptables的状态

# systemctl status iptables

把iptables的规则全部清理掉

# iptables -F

# iptables -F -t nat

# iptables -F -t mangle

之后把iptables关闭

# systemctl stop iptables

# systemctl disable iptables

4:关闭networkmanager

# systemctl status NetworkManager

# systemctl stop NetworkManager

# systemctl disable NetworkManager

第二步yum安装nginx

(首先要有epel源,下载epel源

# yum install -y epel-release

# yum makecache

)然后就可以下载nginx服务了

# yum install -y nginx

启动nginx

# systemctl start nginx

第三步:配置nginx主配置文件

# vim /etc/nginx/nginx.conf

 

把include /etc/nginx/conf/*.conf下面的子文件都注释掉,按wq保存退出

      之后进入/etc/nginx.conf,编辑一个子文件

例如:vim  1.conf

编辑好之后保存退出。

意思就是:当你访问192.168.213.133时,网页将会跳转到https://www.taobao.com

第四步:测试

      用nginx -t 检查文件有没有编辑错误,再看一下80服务有没有开启,用losf -i:80判断无误之后, 重启服务systemctl restart nginx。然后就可以在网页上输入自己设定的IP加端口号进行访问了,这就实现了301加密跳转。

实现200普通跳转

步骤和上面的一样就是配置文件不一样,如果实现普通跳转,还要加一步,就是编写你要在网页访问到的内容

# cd /var/www/html

# vim 2.html

 编写您要的内容

然后就可以在网页上访问啦。(在访问的时候一定要加后面的目录哦,例如:192.168.213.133/2.html)

 带有域名的301跳转  

 1)带有数据库有后台的网站实现301跳转判断

例:域名是5773.com , 网站是vns_hb.com,网站放到/wz这个文件夹的目录下

# vim 1.conf

  server {

    listen      80 ;
    server_name  5773.com www.5773.com;
    charset      utf-8;

   location / {

    root                 /wz/vns_hb.com;
    index               index.html index.htm index.php;
    }

    error_page  404 /404.html;
    location =  /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }

    location ~ \.php$ {
    root /wz/vns_hb.com;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

保存退出。

重启一下nginx

# systemctl   reload  nginx

2)带有证书的网站实现301跳转的判断

例:域名是1778.com ,网站是1778.com ,网站放到/wz文件夹的目录下

# vim 1.conf

  server {
    listen 80 ;
    listen 443 ssl;
    server_name 1778.com www.1778.com;
    charset utf-8;
    index index.html;
    root /wz/1778.com;
    if ($scheme = http ) {
    return 301 https://$host$request_uri;
    }
    ssl_certificate_key /etc/nginx/conf/1778/Nginx/2_1778.com.key;
    ssl_certificate /etc/nginx/conf/1778/Nginx/1_1778.com_bundle.crt;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }
    location ~ \.php$ {
    root /wz/1778.com;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

保存退出

重启一下nginx

# systemctl reload nginx

3)没有证书没有数据库,但是输入https还能正常跳转  

例:域名是1655.com ,网站是1655.com , 存放网站目录是/wz

# vim 1.conf

  server {
    listen 80 ;

    listen 443;
    server_name 1655.com www.1655.com;
    charset utf-8;
    #if ($scheme = https ) {
    return 301 http://$host$request_uri;
    #}

    location / {
    root /wz/1655.com;
    index index.html index.htm index.php;
    }

    error_page 404 /404.html;
    location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }

    location ~ \.php$ {
    root /wz/1655.com;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

 保存退出。

重启一下nginx

# systemctl reload nginx

4)实现多域名跳转

例:域名7788110.com~7788511.cc等域名 ,网站是7788990.com , 网站目录/wz

# vim 1.conf

  server {

    listen  80;

    listen  443;

    charset  utf8;

    server_name 7788110.com www.7788110.com 7788220.com www.7788220.com 7788330.com www.7788330.com 7788440.com www.7788440.com 7788550.com www.7788550.com 7788660.com www.7788660.com 7788770.com www.7788770.com 7788880.cocm www.7788880.com 7788210.net www.7788210.net 7788660.net www.7788660.net 7788511.cc www.7788511.cc;

    root  /wz/7788990.com;

    index  index.html index.htm index.php;   

    # if ($server_port = 80 ) {
    return 301 https://www.7788990.com$request_uri;
    rewrite ^/[0-9a-zA-Z]+$ https://www.7788990.com/ break;
    # }

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }
    location ~ \.php$ {
    root /wz/7788990.com;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

保存退出。

重启一下nginx

# systemctl reload nginx

5)实现用户输入域名后缀是ID和TYPE来访问网站实现301跳转

例:域名chnnowm.com ,要跳转的网站是232xinyi.com , 

# vim 1.conf

  server {

    listen  80;

    charset  utf8;

    server_name  chnnowm.com www.chnnowm.com;

    index  index.html index.htm;

    if ($arg_typ = 'xytb' ) {
    return 301 https://232xinyi.com:8888/Reqister?a=$arg_ID;
    }
      ssl_certificate_key /etc/nginx/conf/chnnowm.com/Nginx/2_chnnowm.com.key;
      ssl_certificate/etc/nginx/conf/chnnowm/Nginx/1_chnnowm.com_bundle.crt;

    include /etc/nginx/default.d/*.conf;

 

    location / {
    }
    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

保存退出。

重启一下nginx

# systemctl reload nginx

让问的时候直接域名+ID+TYPE(例如:https://www.chnnowm.com?ID=706787&type=xytb

 

 

转载于:https://www.cnblogs.com/ping-7/p/7894843.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Sibelius 脚本程序设计》连载(四) - 1.1 创建第一个插件

《Sibelius 脚本程序设计》连载(Flash 格式) 转载于:https://www.cnblogs.com/Sibelius/archive/2010/12/01/1893324.html

面向对象编程——获取对象信息(五)

当我们拿到一个对象的引用时&#xff0c;如何知道这个对象是什么类型、有哪些方法呢&#xff1f; 使用type() 首先&#xff0c;我们来判断对象类型&#xff0c;使用type()函数&#xff1a; 基本类型都可以用type()类型&#xff1a; >>> type(123) <class int> &…

ASP.NET控件开发基础5

上一篇简单的讲了从WebControl继承的控件(好象我讲的都是简单的,嘿嘿).本次讲的更简单,主题是是属性,只当分享经验,希望对大家有帮助我们根据属性的不同表现形式,把其区分为简单属性和复杂属性下面来看下属性的表现形式简单属性表现形式如下,大家都很熟悉 <asp:TextBox ID&q…

项目Alpha冲刺Day4

一、会议照片 二、项目进展 1.今日安排 学习熟悉前台框架且搭建前台页面框架。 2.问题困难 使用了前端的构建工具webpack&#xff0c;困难在于怎么使用gradle结合它连同后台框架中的配置一起打包&#xff0c;因为本身都才刚接触这两者。本来希望每个人下好项目能配置尽量少的东…

log4j:ERROR Could not find value for key log4j.appender.stdout.layout

Connected to the target VM, address: 127.0.0.1:65401, transport: socket log4j:ERROR Could not find value for key log4j.appender.stdout.layout 此log4j:ERROR Could not find value for key log4j.appender.XXXX类型报错与log4j.properties文件写法有关系 处理方法&a…

linux下VMware_Tools虚拟机工具的安装

1 到菜单栏“虚拟机”里选择“安装VMware Tools(I)”虚拟机工具<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />2 挂载了VM虚拟机工具以后的Linux系统的界面3 右键“VMwareTools-6.0.2-59824.tar.gz”文件&#xff0c;复制到桌面…

第十二周学习笔记

先检查有没有对应类型的接口&#xff0c;没有必须先到网上下载&#xff0c;重新开启SQL SEVER即可 64位以上的系统必须用 Microsoft Ace Oledb 12.0 版本的 要选对数据库 没有查询到表格的可以建立表格 用INSERT INTO 语句可以插入数据 ----------删除 删除格式代码&#xff0c…

TechEd2010

微软&#xff08;中国&#xff09;TechEd2010今天在北京国家会议中心开幕了&#xff0c;还是和去年一样&#xff0c;场面做的很大。今年的主题是云&#xff0c;Windows Phone 7&#xff0c;和IE9。 会上&#xff0c;也见了非常多的朋友&#xff0c;有微软的老朋友&#xff0c;也…

错误: 找不到或无法加载主程序类 错误: 找不到或无法加载主类 wc.BatchWordCount

错误描述 编写完代码以后运行main方法&#xff0c;出现错误: 找不到或无法加载主类 错误: 找不到或无法加载主类 wc.BatchWordCount 解决办法 1、点击IDEA侧边的maven栏目&#xff0c;点击compile进行编译 2:显示BUILD SUCCESS表示编译成功 3、再次运行main方法&#xff0…

chmod与umask区分命令

chmod与umask区分命令chmod命令用于改变文件的目录的访问权限&#xff0c;他是一条非常重的系统命令。用户可以用其控制文件或目录的访问权限。 umask是创建文件或创建一个文件目录的一个默认权限。当使用不带参数的umask命令是&#xff0c;喜用会输出当前umask的值。 [rootloc…

Linux包管理速查表

使用Linux 系统总是免不了要接触包管理工具。比如&#xff0c;Debian/Ubuntu 的apt、openSUSE 的zypp、Fedora 的yum、Mandriva 的urpmi、Slackware 的slackpkg、Archlinux 的pacman、Gentoo 的emerge、Foresight 的conary、Pardus 的pisi&#xff0c;等等。DistroWatch 针对上…

C++ 序列化 serialization 如何将类持久化?

C的类的持久化可以通过下面文章中所使用的方法来实现 其原理是将对象的内容以二进制的形式保存到文件中, 在要读取的时候再使用相反的过程来加载到对象中. 总结起来就是可以为要进行持久化的对象,比如说配置类,添加如下的两个方法: bool Config::Save(){ ofstream ofs("co…

BZOJ 4808: 马(二分图最大点独立集)

http://www.lydsy.com/JudgeOnline/problem.php?id4808 题意&#xff1a; 思路&#xff1a; 这图中的两个马只能选一个&#xff0c;二选一&#xff0c;很像二分图吧&#xff0c;对能互吃的两个棋子连线&#xff0c;在所选的任意两个棋子中&#xff0c;都不能互相有连线&#x…

使用Flink批处理实现WordCount

Flink作为一个非常优秀的大数据实时计算框架&#xff0c;在很多从事大数据开发的公司都是必备的技能&#xff0c;接下来我将通过Flink以批处理来实现入门案例WordCount 1:步骤一 idea新建设maven项目&#xff0c;并且自己配置好maven环境 2&#xff1a;步骤二 在pom文件中加…

Application.DoEvents

记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示&#xff0c;不至于系统出现假死的现象&#xff0c;当时也没有深入的去研究他的原理是怎样的&#xff0c;结果在很多地方都用上了Application.DoEvents()&#xff0c;今天看到了关于这方面…

Servlet交互【重定向 与 请求分派】详解

Servlet交互 在serlvet中&#xff0c;需要调用另外一个资源来对浏览器的请求进行响应&#xff0c;两种方式实现&#xff1a; 调用HttpServletResponse.sendRedirect 方法实现 重定向 调用RequestDispatcher.forward 方法来实现请求分派 &#xff08;转发&#xff09; 1.reponse…

解决Error: No such file or directory @ rb_sysopen

mac使用brew安装flink时出现报错&#xff0c;是下载openjdk11报错的 原因是openjdk11依赖包下载不成功&#xff0c;使用brew单独下载该依赖包即可 brew install openjdk11

《Sibelius 脚本程序设计》连载(十四) - 2.1 注释、语句、语句块

《Sibelius 脚本程序设计》连载(Flash 格式) 转载于:https://www.cnblogs.com/Sibelius/archive/2010/12/11/1903389.html