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