nginx的虚拟主机的配置以及实现重定向

        301  #永久重定向
        302  #临时重定向
        200  #访问正确

正则匹配

[root@server6 ~]# cd /usr/local/lnmp/nginx/conf/
[root@server6 conf]# mkdir  /www1  /www2
[root@server6 conf]# cd /www1
[root@server6 www1]# vim index.html
        www.westos.org
[root@server6 www1]# cd ..
[root@server6 /]# cd /usr/local/lnmp/nginx/conf/
[root@server6 conf]# cd /www2
[root@server6 www2]# vim index.html
        www.linux.org
[root@server6 conf]# vim nginx.conf
        server{
                listen 80;
                server_name www.westos.org;

                location / {
                        root  /www1;
                        index index.html;
                }
        }


        server{
                listen 80;
                server_name www.linux.org;

                location / {
                        root  /www2;
                        index index.html;
                }
        }
[root@server6 conf]# nginx -t
        nginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is ok
        nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful
[root@server6 conf]# nginx -s reload
测试(访问不同的目录会出现不同的界面):

这里写图片描述
这里写图片描述

加密

[root@server6 conf]# vim nginx.conf
        server {
            listen       443 ssl;
            server_name  www.westos.org;

            ssl_certificate      cert.pem;
            ssl_certificate_key  cert.pem;

            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;

            ssl_ciphers  HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers  on;

            location / {
                root   /www1;
                index  index.html index.htm;
            }
        }
[root@server6 conf]# nginx -t
        nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/lnmp/nginx/conf/nginx.conf:105
        nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test failed
[root@server6 conf]# cd /etc/pki/tls/certs/
[root@server6 certs]# make cert.pem
        umask 77 ; \
            PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
            PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
            /usr/bin/openssl req -utf8 -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -set_serial 0 ; \
            cat $PEM1 >  cert.pem ; \
            echo ""    >> cert.pem ; \
            cat $PEM2 >> cert.pem ; \
            rm -f $PEM1 $PEM2
        Generating a 2048 bit RSA private key
        ...............................................................................................................................................................................+++
        ..........................................................................+++
        writing new private key to '/tmp/openssl.6f3B7P'
        -----
        You are about to be asked to enter information that will be incorporated
        into your certificate request.
        What you are about to enter is what is called a Distinguished Name or a DN.
        There are quite a few fields but you can leave some blank
        For some fields there will be a default value,
        If you enter '.', the field will be left blank.
        -----
        Country Name (2 letter code) [XX]:cn
        State or Province Name (full name) []:shaanxi        
        Locality Name (eg, city) [Default City]:xi'an
        Organization Name (eg, company) [Default Company Ltd]:westos
        Organizational Unit Name (eg, section) []:linux
        Common Name (eg, your name or your server's hostname) []:ting
        Email Address []:root@localhost
        [root@server6 certs]# ls
                ca-bundle.crt        cert.pem         Makefile
                ca-bundle.trust.crt  make-dummy-cert  renew-dummy-cert
[root@server6 certs]# ll cert.pem 
-rw------- 1 root root 3076 8月   7 08:59 cert.pem
[root@server6 certs]# cp cert.pem /usr/local/lnmp/nginx/conf/
[root@server6 conf]# nginx -t
nginx: the configuration file /usr/local/lnmp/nginx//conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/lnmp/nginx//conf/nginx.conf test is successful
访问测试:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

[root@server6 conf]# vim nginx.conf
        126 server{
        127         listen 80;
        128         server_name www.westos.org  westos.org;  #
        129 
        130         location /{
        131                 root  /www1;
        132         index index.html;
        133         }
        134 }
[root@server6 conf]# nginx -s reload
#测试:
[root@foundation44 jar]# curl -I westos.org
        HTTP/1.1 200 OK
        Server: nginx
        Date: Tue, 07 Aug 2018 01:41:55 GMT
        Content-Type: text/html
        Content-Length: 15
        Last-Modified: Mon, 06 Aug 2018 23:57:30 GMT
        Connection: keep-alive
        ETag: "5b68e06a-f"
        Accept-Ranges: bytes

这里写图片描述

[root@server6 conf]# vim nginx.conf
        126 server{
        127         listen 80;
        128         server_name www.westos.org  westos.org;
        129 
        130         rewrite ^(.*)$ https://www.westos.org permanent;
        131         #location /{
        132         #       root  /www1;
        133         #       index index.html;
        134         #}      
        135 }
[root@server6 conf]# nginx -s reload
#测试
[root@foundation44 jar]# curl -I westos.org
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Tue, 07 Aug 2018 01:50:01 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: https://www.westos.org
        [root@foundation44 jar]# curl -I www.westos.org
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Tue, 07 Aug 2018 01:51:36 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: https://www.westos.org

这里写图片描述

[root@server6 conf]# vim nginx.conf
        126 server{
        127         listen 80;
        128         server_name www.westos.org  westos.org;
        129 
        130         rewrite ^(.*)$ https://www.westos.org$1 permanent;
        131         #location /{
        132         #       root  /www1;
        133         #       index index.html;
        134         #}      
        135 }
[root@server6 conf]# nginx -s reload
#测试:
[root@foundation44 jar]# curl -I www.westos.org/index.html
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Tue, 07 Aug 2018 02:00:27 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: https://www.westos.org/index.html

这里写图片描述

[root@server6 conf]# vim nginx.conf
        138 server{
        139         listen 80;
        140         server_name bbs.westos.org;
        141 
        142         location /{
        143                 root  /www2;
        144                 index index.html;
        145         }
        146 }
[root@server6 conf]# nginx -s reload[root@server6 conf]# cd /www2
[root@server6 www2]# ls
        index.html
[root@server6 www2]# vim index.html 
        bbs.westos.org
#测试:
[root@foundation44 jar]# curl  bbs.westos.org
        bbs.westos.org
[root@foundation44 jar]# curl -I bbs.westos.org
        HTTP/1.1 200 OK
        Server: nginx
        Date: Tue, 07 Aug 2018 02:05:02 GMT
        Content-Type: text/html
        Content-Length: 15
        Last-Modified: Tue, 07 Aug 2018 02:03:29 GMT
        Connection: keep-alive
        ETag: "5b68fdf1-f"
        Accept-Ranges: bytes
[root@foundation44 jar]# curl -I www.westos.org/bbs
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Tue, 07 Aug 2018 02:05:49 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: https://www.westos.org/bbs

[root@server6 conf]# vim nginx.conf
        126 server{
        127         listen 80;
        128         server_name www.westos.org  westos.org;
        129 
        130         #rewrite ^(.*)$ https://www.westos.org$1 permanent;
        131         rewrite ^/bbs$ http://bbs.westos.org  permanent;
        132         #location /{
        133         #       root  /www1;
        134         #       index index.html;
        135         #}      
        136 }
[root@server6 conf]# nginx -s reload
#测试:
[root@foundation44 jar]# curl -I www.westos.org/bbs
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Tue, 07 Aug 2018 02:18:32 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: http://bbs.westos.org

这里写图片描述

[root@server6 conf]# vim nginx.conf
        126 server{
        127         listen 80;
        128         server_name www.westos.org  westos.org;
        129 
        130         #rewrite ^(.*)$ https://www.westos.org$1 permanent;
        131         rewrite ^/bbs$ http://bbs.westos.org permanent;
        132         rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;
        133         #location /{
        134         #       root  /www1;
        135         #       index index.html;
        136         #}      
        137 }

[root@server6 conf]# nginx -s reload
#测试:
[root@foundation44 jar]# curl -I www.westos.org/bbs/index.html
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Tue, 07 Aug 2018 02:22:23 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: http://bbs.westos.org/index.html

这里写图片描述

[root@server6 conf]# vim nginx.conf
        126 server{
        127         listen 80;
        128         server_name www.westos.org  westos.org;
        129 
        130         #rewrite ^(.*)$ https://www.westos.org$1 permanent;
        131         #rewrite ^/bbs$ http://bbs.westos.org permanent;
        132         #rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;
        133 
        134         location /{
        135                 root  /www1;
        136                 index index.html;
        137         }
        138 }
        139 
        140 
        141 server{
        142         listen 80;
        143         server_name bbs.westos.org;
        144 
        145         rewrite ^(.*)$ https://www.westos.org/bbs/$1 permanent;
        146         #location /{
        147         #        root  /www2;
        148         #        index index.html;
        149         #}
        150 }
[root@server6 conf]# nginx -s reload
[root@server6 conf]# cd /www1
[root@server6 www1]# mkdir bbs
[root@server6 www1]# ls
        bbs  index.html
[root@server6 www1]# cd bbs/
[root@server6 bbs]# vim index.html
        www.westos.org  - bbs
#测试:
[root@foundation44 jar]# curl -I bbs.westos.org
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Tue, 07 Aug 2018 02:38:33 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: https://www.westos.org/bbs/

这里写图片描述

[root@server6 conf]# vim nginx.conf
        126 server{
        127         listen 80;
        128         server_name www.westos.org  westos.org bbs.westos.org;
        129 
        130         #rewrite ^(.*)$ https://www.westos.org$1 permanent;
        131         #rewrite ^/bbs$ http://bbs.westos.org permanent;
        132         #rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;
        133         if ($host = "bbs.westos.org"){
        134         rewrite ^(.*)$ https://www.westos.org/bbs/$1 permanent;
        135         }
        136         location /{
        137                 root  /www1;
        138                 index index.html;
        139         }
        140 }
        141 
        142 #server{
        143 #        listen 80;
        144 #        server_name bbs.westos.org;
        145 #       
        146 #        rewrite ^(.*)$ https://www.westos.org/bbs$1 permanent;
        147 #        location /{
        148 #                root  /www2;
        149 #                index index.html;
        150 #        }
        151 #}
        152 }
[root@server6 conf]# nginx -s reload
#测试;

这里写图片描述

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/81736260
今日推荐