实验环境
服务端 | ip | 环境 |
---|---|---|
server1 | 172.25.55.1 | 关闭防火墙,添加域名解析 |
founcation55 | 172.25.55.250 | 关闭防火墙,添加域名解析 |
一、编译、安装Ngix
1 2 3 4 5 6 7 8 9 10 11 | [root@server1 nginx-1.14.2] # ./configure --prefix=/usr/local/nginx/ --with-http_realip_module --with-http_image_filter_module=dynamic --with-http_ssl_module [root@server1 nginx-1.14.2] # yum install openssl-devel -y [root@server1 nginx-1.14.2] # ./configure --prefix=/usr/local/nginx/ --with-http_realip_module --with-http_image_filter_module=dynamic --with-http_ssl_module [root@server1 nginx-1.14.2] # make [root@server1 nginx-1.14.2] # cd objs/ [root@server1 objs] # cp nginx /usr/local/nginx/sbin/ [root@server1 objs] # cp ngx_http_image_filter_module.so /usr/local/nginx/modules/(没有modules目录,手动创建) |
二、测试nginx功能
编辑nginx的配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 | [root@server1 certs] # vim /usr/local/nginx/conf/nginx.conf 134 server { 135 listen 80; 136 server_name www.westos.org; 137 138 location / { 139 root /web ;(访问的资源路径) 140 index index.html; 141 } 142 143 } [root@server1 certs] # nginx -s reload(重载服务) |
创建/web目录编辑网页文件index.html。
1 2 3 | 客户端添加域名解析: [root@foundation55 新6] # cat /etc/hosts 172.25.55.1 www.westos.org bbs.westos.org |
测试:客户端访问www.westos.org
常见http状态码含义:
状态码 | 含义 |
---|---|
200 | 请求成功 |
301 | 被请求的资源已永久移动到新位置 |
302 | 请求的资源临时从不同的 URI响应请求 |
404 | 请求失败 |
三、重定向一:http—->https
添加证书
1 2 | [root@server1 objs] # cd /etc/pki/tls/certs [root@server1 certs] # make cert.pem |
将证书文件复制到nginx下的conf目录下:
1 | [root@server1 certs] # cp cert.pem /usr/local/nginx/conf/ |
编辑nginx配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | [root@server1 certs] # vim /usr/local/nginx/conf/nginx.conf 100 server { 101 listen 443 ssl; 102 server_name www.westos.org; 103 104 ssl_certificate cert.pem; 105 ssl_certificate_key cert.pem; 106 107 ssl_session_cache shared:SSL:1m; 108 ssl_session_timeout 5m; 109 110 ssl_ciphers HIGH:!aNULL:!MD5; 111 ssl_prefer_server_ciphers on; 112 113 location / { 114 root /web ; 115 index index.html index.htm; 116 } 117 } 118 119 server { 120 listen 80; 121 server_name www.westos.org; 122 rewrite ^/(.*)$ https: //www/westos/org/ $1; 123 124 125 126 location / { 127 root /web ; 128 index index.html; 129 } 130 131 } [root@server1 certs] # nginx -s reload |
客户端测试:
客户端浏览器访问:
永久重定向
1 2 3 | [root@server1 certs] # vim /usr/local/nginx/conf/nginx.conf 122 rewrite ^/(.*)$ https: //www/westos/org/ $1 permanent; |
客户端测试:
$1的作用
服务端server1/web目录下创建一个test.html网页文件。
1 2 3 4 | [root@server1 web] # cat test.html test [root@server1 certs] # vim /usr/local/nginx/conf/nginx.conf 122 rewrite ^/(.*)$ https: //www/westos/org/ $1 permanent; |
去掉$1后
1 2 | [root@server1 web] # vim /usr/local/nginx/conf/nginx.conf 124 rewrite ^/(.*)$ https: //www/westos/org/ permanent; |
四、服务端再添加一个域名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [root@server1 bbs] # vim /usr/local/nginx/conf/nginx.conf 121 server { 122 listen 80; 123 server_name bbs.westos.org; 124 125 126 127 location / { 128 root /bbs ; 129 index index.html; 130 } 131 132 } |
创建/bbs目录,并编辑网页文件:
1 2 3 4 5 | [root@server1 web] # mkdir /bbs [root@server1 web] # cd /bbs/ [root@server1 bbs] # ls [root@server1 bbs] # vim index.html bbs.westos.org |
客户端测试:
五、重定向二:www.westos.org/bbs—–>bbs.westos.org
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [root@server1 bbs] # vim /usr/local/nginx/conf/nginx.conf 121 server { 122 listen 80; 123 server_name www.westos.org; 124 rewrite ^ /bbs $ http: //bbs .westos.org permanent; 125 #rewrite ^/bbs(.*)$ http://bbs.westos.org/$1 permanent; 126 location / { 127 root /web ; 128 index index.html; 129 } 130 131 } 132 133 server { 134 listen 80; 135 server_name bbs.westos.org; 136 137 location / { 138 root /bbs ; 139 index index.html; 140 } 141 } |
在浏览器访问http://www.westos.org/bbs,结果如下图。
1 2 3 | [root@server1 bbs] # vim /usr/local/nginx/conf/nginx.conf 124 rewrite ^ /bbs $ http: //bbs .westos.org permanent; 125 rewrite ^ /bbs (.*)$ http: //bbs .westos.org/$1 permanent; |
在浏览器访问http://www.westos.org/bbs/index.html,结果如下图。
六、重定向三:bbs.westos.org—–>www.westos.org/bbs/
1 2 3 4 | [root@server1 bbs] # cd /web/ [root@server1 web] # cp -r /bbs/ /web/ [root@server1 web] # ls bbs index.html test .html |
以上就是nginx几种网页重定向(rewirte)的配置方法详解的详细内容,更多关于nginx网页重定向配置的资料请关注IT俱乐部其它相关文章!