java高级进修之nginx

1、 在Nginx中解决跨域问题

在nginx中再添加一个反向代理来实现:

server {
  listen 80;
  server_name localhost;

  #charset koi8-r;

  #access_log logs/host.access.log main;

location / {
  root html;
  index index.html index.htm;
}
location /apis {
  rewrite ^.+apis/?(.*)$ /$1 break;
  include uwsgi_params;
  proxy_pass http://localhost:8080;
}}

新添加的一个反向代理  /apis,再此之前一个访问是这样的localhost:8080/api/user/getInfo,然后由于跨域是无法访问的,这个时候在config配置文件中配置上述信息完成之后,此时的访问地址要变成这样:localhost:8080/apis/api/user/getInfo

2、在Nginx中配置静态资源防盗链

<img src="http://lwh.nginx.com:89/imooc/img/face1.png"/>
那么它默认是可以访问这张图片的,但是从lwh.nginx.com网站角度来看,这是一种偷盗行为,不想让外站访问这个图片,

// 这边进行防盗链配置,只允许来自*.nginx.com的请求访问下面资源 // 这边配置完之后,外界就无法通过http://lwh.nginx.com:89/img/face1.png访问了

 

server{

  valid_referers *.nginx.com;

  if ($invalid_referer) { return 404; }

}

3、使用nginx搭建多台tomcat服务器  实现负载均衡

修改nginx.conf文件中配置. upstream模块就是用来做反向代理,将请求转发到真实的服务器去处理

a) 需要在本地配置hosts映射, 192.168.1.172 www.tomcats.com

b) 配置成功之后可以在浏览器访问www.tomcats.com,请求被80端口监听到之后,被location匹配到之后,就会走代理 到http://tomcats这个url,这个url对应上面配置的upstream配置,会使用下面三台tomcat的其中一台响应请求.

c) server 192.168.1.173:8080 weight=2;可以这样指定该server处理请求的权重

d) 配置使用ip hash或者访问url的hash或者最少连接数,实现负载均衡

upstream tomcats {

  ip_hash; hash

       $request_uri; least_conn;

       server 192.168.1.173:8080;

       server 192.168.1.190:8080;

}

 4、使用JMeter测试单节点与集群并发异常率

参考:https://blog.csdn.net/liaomin416100569/article/details/79854669

5、  使用 keepalived提高吞吐量

所谓吞吐量,就是服务器压力问题,所以呢,吞吐量是越高越好;

keepalived: 设置长连接处理的数量
proxy_http_version:设置长连接http版本为1.1
proxy_set_header:清除connection header 信息

upstream tomcats {
# server 192.168.1.173:8080 max_fails=2 fail_timeout=1s;
server 192.168.1.190:8080;
# server 192.168.1.174:8080 weight=1;
# server 192.168.1.175:8080 weight=1;
keepalive 32;
}

server {
listen 80;
server_name www.tomcats.com;

location / {
proxy_pass http://tomcats;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}

6、负载均衡原理剖析 - ip_hash - url hash 与 least_conn

参考:https://blog.csdn.net/xqhys/article/details/81788358

7、 Nginx控制浏览器缓存

配置信息:

知识写了location
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}

location ~ .*\.(js|css)$
{
expires 12h;
access_log off;
}

参考:https://blog.csdn.net/xqhys/article/details/81788358

8、Nginx反向代理缓存(不是很好 ,还不如使用redis)

参考:https://blog.csdn.net/li12412414/article/details/80947859

9、使用Nginx配置SSL证书提供HTTPS访问(已经有介绍)

posted @ 2020-06-01 15:10  文刀水告  阅读(191)  评论(0编辑  收藏  举报