转载–Nginx基本功能及其原理
转载–Nginx基本功能及其原理一、什么是正向代理和反向代理:A同学在大众创业的大时代背景下开启他的创业之路,目前他遇到的最大的一个问题就是启动资金,于是他决定去找马云爸爸借钱,可想而知,最后碰一鼻子灰回来了,情急之下,他想到一个办法,找关系开后门,经过一番消息打探,原来A同学的大学老师王老师是马云的同学,于是A同学找到王老师,托王老师帮忙去马云那借500万过来,当然最后事成了。不过马云并不知道这钱是A同学借的,马云是借给王老师的,最后由王老师转交给A同学。这里的王老师在这个过程中扮演了一个非常关键的角色,就是代理,也可以说是正向代理,王老师代替A同学办这件事,这个过程中,真正借钱的人是谁,马云是不知道的,这点非常关键。
我们常说的代理也就是只正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,某些科学上网工具扮演的就是典型的正向代理角色。用浏览器访问 http://www.google.com 时,被残忍的block,于是你可以在国外搭建一台代理服务器,让代理帮我去请求google.com,代理把请求返回的相应结 ...
Linux配置Nginx图片服务器
Linux配置Nginx图片服务器一. 设置nginx.conf配置文件
查找配置文件:
find / -name nginx.conf
更改配置文件
vim /etc/nginx/nginx.conf
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /404.html { } error_pag ...
Linux下配置Nginx
Linux下配置nginx一.安装依赖包//一键安装上面四个依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
①gcc环境Nginx是C语言开发,nginx安装前需具备gcc g++环境在安装时进行编译。可通过下面命令查看是否有这三个包
rpm -qa | grep gcc
②PCRE安装PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre库.
③OpenSSL安装(非必须 用到HTTPS协议需安装)OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要安装 OpenSSL 库。
④安装zlibzlib 库提供 ...
Annotation
元注解@Targetjava.lang.annotation.ElementType.TYPE://类、接口(包括注解类型)和枚举的声明java.lang.annotation.ElementType.FIELD://字段声明(包括枚举常量)java.lang.annotation.ElementType.METHOD://方法声明java.lang.annotation.ElementType.PARAMETER://参数声明java.lang.annotation.ElementType.CONSTRUCTOR://构造函数声明java.lang.annotation.ElementType.LOCAL_VARIABLE://本地变量声明java.lang.annotation.ElementType.ANNOTATION_TYPE://注解类型声明java.lang.annotation.ElementType.PACKAGE://包声明java.lang.annotation.ElementType.TYPE_PARAMETER://类型参数声明,JavaSE8引进,可以应用于 ...
转载-Nginx 配置 HTTPS 服务器
Nginx 配置 HTTPS 服务器by Mihan on 2016-08-16
Chrome 浏览器地址栏标志着 HTTPS 的绿色小锁头从心理层面上可以给用户专业安全的心理暗示,本文简单总结一下如何在 Nginx 配置 HTTPS 服务器,让自己站点上『绿锁』。
Nginx 配置 HTTPS 并不复杂,主要有两个步骤:签署第三方可信任的 SSL 证书 和 配置 HTTPS
签署第三方可信任的 SSL 证书关于 SSL 证书有关 SSL 的介绍可以参阅维基百科的传输层安全协议和阮一峰先生的 《SSL/TLS协议运行机制的概述》。
SSL 证书主要有两个功能:加密和身份证明,通常需要购买,也有免费的,通过第三方 SSL 证书机构颁发,常见可靠的第三方 SSL 证书颁发机构有下面几个:
StartCom 机构上的 SSL 证书有以下几种:
企业级别:EV(Extended Validation)、OV(Organization Validation)
个人级别:IV(Identity Validation)、DV(Domain Validation)
其中 EV、OV、IV 需要 ...
Autowired的三种注入方式
@Autowired的三种注入方式Field injection is not recommended(不再推荐使用字段注入)1. 说明最近公司升级框架,由原来的spring framerwork 3.0升级到5.0,然后写代码的时候突然发现idea在属性注入的**@Autowired**注解上给出警告提示,就像下面这样的,也挺懵逼的,毕竟这么写也很多年了。
Field injection is not recommended
查阅了相关文档了解了一下,原来这个提示是spring framerwork 4.0以后开始出现的,spring 4.0开始就不推荐使用属性注入,改为推荐构造器注入和setter注入。
下面将展示了spring框架可以使用的不同类型的依赖注入,以及每种依赖注入的适用情况。
2. 依赖注入的类型尽管针对spring framerwork 5.1.3的文档只定义了两种主要的依赖注入类型,但实际上有三种;
基于构造函数的依赖注入
基于setter的依赖注入
基于字段的依赖注入
其中基于字段的依赖注入被广泛使用,但是idea或者其他静态代码分析工具会给出提示信息 ...
Java中为什么不允许直接创建泛型数组
Java中为什么不允许直接创建泛型数组在Java中,如果创建泛型数组,会出现以下编译错误, 例如List<String>[] stringLists = new List<String>[10];会提示Error:(9, 38) java: 创建泛型数组但是却可以创建泛型数组的引用List<String>[] stringLists = null;并将一个普通数组的引用赋值给它。List<String>[] stringLists = new List[10];
package test;import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) { List<String>[] stringLists = new List[10]; stringLists[0] = new ArrayList<>(); ...
SpringBoot配置Cors解决跨域请求问题
SpringBoot配置Cors解决跨域请求问题一、同源策略简介同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。
什么是源源[origin]就是协议、域名和端口号。例如:http://www.baidu.com:80 这个URL。
什么是同源若地址里面的协议、域名和端口号均相同则属于同源。
是否是同源的判断例如判断下面的URL是否与 http://www.a.com/test/index.html 同源
http://www.a.com/dir/page.html 同源
http://www.child.a.com/test/index.html 不同源,域名不相同
https://www.a.com/test/index.html 不同源,协议不相同
http://www.a.com:8080/test/index.html 不同源,端口号不相同
哪些操作不受同源策略限制
页面中的链接,重定向以及表单提交是不会受到同源策略限制的;
跨域资源的引入是可以的。但是JS不能 ...
Springboot中配置SSL证书
Springboot中配置SSL证书一、为什么要部署SSL证书:
目前互联网采取的是全网强制SSL,尤其是微信开发、APP开发、谷歌等都是强制的,为确保数据安全性,把http请求改成HTTPS(URLhttps://而不是http://)请求确保客户端与站点传输数据的加密作用,所有操作系统都可以部署。
二、SSL证书是什么?
SSL(Secure socketlayer)对用户和服务器进行认证,对传输数据进行加密的和隐藏的全球化标准的的安全协议,保证在互联网交易中,双方传递信息的安全性。
作为文件形式存在的证书一般有这几种格式:
**1.**带有私钥的证书 由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。
**2.**二进制编码的证书 证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。
3.Base64编码的证书证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。
由定义可以看出,只有pf ...
为什么阿里规定需要在事务注解Transactional中指定rollbackFor?
为什么阿里规定需要在事务注解@Transactional中指定rollbackFor?
阿里巴巴Java规范:方法【edit】需要在Transactional注解指定rollbackFor或者在方法中显示的rollback。
异常的分类 exception-1.png
Exception.png
Throwable:有两个重要的子类:Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。
Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM (Java虚拟机)出现的问题。例如。Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需要的内存资源时,将出现 OutOfMemoryError 。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。
Exception(异常):是程序本身可以处理的异常。他又分为运行时异常RuntimeException和非运行时异常。
error和exception有 ...