总结
就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer! 越努力越幸运!
金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。我偶然得到一份整理的资料,不论是从整个 Java 知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。
-v /mydata/nginx/logs:/var/log/nginx \
-d nginx:1.10
- 运行成功后将容器中的Nginx配置目录拷贝到宿主机上去;
docker container cp nginx:/etc/nginx /mydata/nginx/
- 将宿主机上的
nginx
目录改名为conf
,要不然/mydata/nginx/nginx
这个配置文件目录看着有点别扭;
mv /mydata/nginx/nginx /mydata/nginx/conf
- 创建的Nginx容器复制完配置后就没用了,停止并删除容器;
docker stop nginx
docker rm nginx
- 使用Docker命令重新启动Nginx服务,需要映射好配置文件,由于我们要支持HTTPS,还需要开放
443
端口。
docker run -p 80:80 -p 443:443 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
配置支持HTTPS
- 将我们生成好的SSL证书和私钥拷贝到Nginx的
html/ssl
目录下;
cp blog_nopass.key /mydata/nginx/html/ssl/
cp blog.crt /mydata/nginx/html/ssl/
- 接下来我们需要给
blog.macrozheng.com
这个域名添加HTTPS支持,在/mydata/nginx/conf/conf.d/
目录下添加Nginx配置文件blog.conf
,配置文件内容如下;
server {
listen 80; # 同时支持HTTP
listen 443 ssl; # 添加HTTPS支持
server_name blog.macrozheng.com;
#SSL配置
ssl_certificate /usr/share/nginx/html/ssl/blog/blog.crt; # 配置证书
ssl_certificate_key /usr/share/nginx/html/ssl/blog/blog_nopass.key; # 配置证书私钥
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 配置SSL协议版本
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 配置SSL加密算法
ssl_prefer_server_ciphers on; # 优先采取服务器算法
ssl_session_cache shared:SSL:10m; # 配置共享会话缓存大小
ssl_session_timeout 10m; # 配置会话超时时间
location / {
root /usr/share/nginx/html/www;
index index.html index.htm;
}
location /admin {
alias /usr/share/nginx/html/admin;
index index.html index.htm;
}
location /app {
alias /usr/share/nginx/html/app;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- 通过
HTTPS
访问blog.macrozheng.com
这个域名,由于我们使用的是自己签名的SSL证书,浏览器会提示您的连接不是私密连接
,点击继续前往可以通过HTTPS正常访问;
- 我们可以查看下证书的
颁发者
信息,可以发现正好是之前我们创建SSL证书签名请求文件时录入的信息;
- 接下来我们需要给
api.macrozheng.com
这个域名添加HTTPS支持,通过这个域名可以使用HTTPS访问我们的SpringBoot应用,api.crt
和api_nopass.key
文件需要自行生成,在/mydata/nginx/conf/conf.d/
目录下添加Nginx配置文件api.conf
,配置文件内容如下;
server {
listen 80; # 同时支持HTTP
listen 443 ssl; # 添加HTTPS支持
server_name api.macrozheng.com; #修改域名
#ssl配置
ssl_certificate /usr/share/nginx/html/ssl/api/api.crt; # 配置证书
ssl_certificate_key /usr/share/nginx/html/ssl/api/api_nopass.key; # 配置证书私钥
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 配置SSL协议版本 # 配置SSL加密算法
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on; # 优先采取服务器算法
ssl_session_cache shared:SSL:10m; # 配置共享会话缓存大小
ssl_session_timeout 10m; # 配置会话超时时间
location / {
proxy_pass http://192.168.3.101:8080; # 设置代理服务访问地址
proxy_set_header Host $http_host; # 设置客户端真实的域名(包括端口号)
proxy_set_header X-Real-IP $remote_addr; # 设置客户端真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置在多层代理时会包含真实客户端及中间每个代理服务器的IP
proxy_set_header X-Forwarded-Proto $scheme; # 设置客户端真实的协议(http还是https)
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- 通过
HTTPS
访问api.macrozheng.com
这个域名,访问地址为:https://api.macrozheng.com/swagger-ui.html
- 任意调用一个接口测试下,比如说登录接口,可以发现已经可以通过HTTPS正常访问SpringBoot应用提供的接口。
之前我们使用的是自签名的SSL证书,对于浏览器来说是无效的。使用权威机构颁发的SSL证书浏览器才会认为是有效的,这里给大家推荐两种申请免费SSL证书的方法,一种是从阿里云申请,另一种是从FreeSSL申请。
阿里云证书
- 阿里云上可以申请的免费证书目前只有支持单个域名的DV级SSL证书。比如说你有
blog.macrozheng.com
和api.macrozheng.com
两个二级域名需要使用HTTPS,就需要申请两个SSL证书。
- 申请成功后点击下载Nginx证书即可;
- 下载完成后解压会有下面两个文件;
blog.macrozheng.com.key # 证书私钥文件
blog.macrozheng.com.pem # 证书文件
- 拷贝证书文件到Nginx的指定目录下,然后修改配置文件
blog.conf
,只要修改证书配置路径即可,修改完成后重启Nginx;
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
[外链图片转存中…(img-G9MchD6K-1715645578746)]