Nginx实现https、重定向https
简单说明
下文介绍的nginx配置是基于上一篇文章的配置进行讲解的,如有不理解的地方,可以先看看我上一篇对nginx的配置信息 https://www.cnblogs.com/sportsky/p/16294392.html
配置信息
要实现https访问,需要在服务器进行安装证书,生成证书的方法有很多种,本人是使用openssl工具进行生成的证书,具体生成方法大家可以自行度娘,但是这种方法是不安全的,本人主要是为了实现https
也可以使用本人生成的证书 :
链接:https://pan.baidu.com/s/1oFD8AAAkEiFPU98kh3vW4Q
提取码:4tnu
--来自百度网盘超级会员V1的分享
在nginx里面的http节点添加如下配置
# 只加载动态资源
server {
# 监听端口默认是80
listen 80;
# 服务器ip或域名
server_name 192.168.140.130;
if ($scheme = http){
return 301 https://192.168.140.130:8082$request_uri;
}
}
# 只加载静态资源
server {
# 监听端口默认是8081
listen 8081;
# 服务器ip或域名
server_name 192.168.140.130;
# 静态资源
location ~ \.(ico|js|css|png|jpg|mp4)$ {
root /data/apps/wwwroot/;
}
}
# 合并静态资源和动态资源
server {
# 监听端口默认是8082
listen 8082 ssl;
# 服务器ip或域名
server_name 192.168.140.130;
# ssl证书(证书存放路径)
ssl_certificate /data/apps/certs/server-cert.pem;
ssl_certificate_key /data/apps/certs/server-key.pem;
# 代理动态资源
location / {
proxy_pass http://xiaohemiao;
}
# 静态资源
location ~ \.(ico|js|css|png|jpg|mp4)$ {
proxy_pass http://192.168.140.130:8081;
}
}
upstream xiaohemiao {
server 192.168.140.130:7777; # 应用端口7777
server 192.168.140.130:8888; # 应用端口8888
}
页面呈现效果如下,在浏览器中输入 http://192.168.140.130/home/index ,也会自动跳转重定向到如下地址的页面