[网上生成系统 4] Nginx的反向代理配置
有的时候我们并不想输入例如127.0.0.1这样的域名,而是希望输入例如www.taobao.com这样的域名,看起来舒服一些,Nginx为我们实现了这样的功能,我们并不需要买或者租一个域名,可以创建一个虚拟的域名供我们开发使用.下面来介绍一下如何配置 :
1.1 输入
sudo vim /usr/local/nginx/conf/nginx.conf
在文件中添加下面一句 :
include vhost/*.conf;
这句话的意思是包含了所有位于vhost目录下的.conf文件,方便我们进行开发,我们只需要编写.conf文件就可以创建虚拟域名了,首先我们需要在/etc/hosts添加一些语句,如下 :
127.0.0.1 localhost 127.0.1.1 cpppp-PC # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters #ubuntu 10.160.15.84 www.cpppp.com 10.160.15.84 image.cpppp.com 10.160.15.84 s.cpppp.com
我将我的10.160.15.84 IP地址加上了别名 www.cpppp.com,image.cpppp.cm,s.cpppp.com,这样我们输入以上域名的时候就自动到达10.160.15.84地址.
然后我们首先在/usr/local/nginx/conf/目录下创建vhost目录
sudo mkdir /usr/local/nginx/conf/vhost
然后在该目录下创建一个www.cpppp.com.conf文件,在其中写上如下语句 :
server{ listen 80; autoindex on; server_name www.cpppp.com; access_log /usr/local/nginx/logs/access.log combined; index index.html index.htm index.jsp index.php; #error_page 404 /404.html; if ( $query_string ~* ".*[\;'\<\>].*" ){ return 404; } location / { proxy_pass http://127.0.0.1:8080; add_header Access-Control-Allow-Origin *; } }
这样我们在输入www.cpppp.com时就可以到达Tomcat的主页(首先启动Tomcat).
还有另外一种形式可以自动到达我们的文件目录,我们再创建一个image.cpppp.com.conf :
server{ listen 80; autoindex on; server_name image.cpppp.com; access_log /usr/local/nginx/logs/access.log combined; index index.html index.htm index.jsp index.php; #error_page 404 /404.html; if ( $query_string ~* ".*[\;'\<\>].*" ){ return 404; } location / { root /home/uftp/; #重点看这里! add_header Access-Control-Allow-Origin *; } }
当我们输入image.cpppp.com域名时,我们就可以自动到达/home/uftp/文件下了.
这里有一个很重要的小细节,看上面的"autoindex"这个标签,当这个标签设置成on时,字面意思很明确,自动创建索引,也就是说当我们访问/home/uftp/这个路径时,它会将该路径下所有文件显示出来,很多时候我们并不想这样,这个时候我们应该把这个属性设置为off,这样当我们访问时会返回一个403错误,但是其中的内容还是可以访问的.
浙公网安备 33010602011771号