准备:
域名(已备案的)
ssl证书
二级域名是可以和一级域名访问不同IP的,咱就针对www的二级域名去做ssl配置。
按照我的方法安装好ngxin,目录啥的都按我的来了,如果有自己发挥的,也自己注意下路径
1.上传自己的SSL证书文件
cd进入/usr/local/nginx
新建文件夹:SSLcertificate
命令:mkdir SSLcertificate
2.配置
cd ../conf/
下载nginx.conf到本地,修改配置:
sz nginx.conf
下载到本地(默认应该在C:\Users\[window用户名]\Download)(ftp也行)
相关nginx.conf配置内容:
#SSL配置:(tomcat是别名,随便起名)
upstream tomcat {
# 配置内网地址,也可以配置公网地址
server 10.9.181.78:8081;
}
server {
listen 443 ssl;
server_name www.[域名].cn;#域名
ssl_certificate /usr/local/nginx/SSLcertificate/1_skyisazure.cn_bundle.crt;
ssl_certificate_key /usr/local/nginx/SSLcertificate/2_skyisazure.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat; #tomcat是别名,随便起名
#下面这两条配置,意思是将http头转发给后端应用,不然你后端应用服务拿客户端IP地址的时候拿到的是nginx代理的地址而不是客户端的。
proxy_set_header X-real-ip $remote_addr;
proxy_set_header Host $http_host;
}
}
server {
listen 80;
#填写绑定证书的域名
server_name [域名].cn www.[域名].cn;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
修改完上传,使用下面的./nginx -t
进行校验,返回OK,再./nginx -s reload
重新载入配置文件,访问测试即可。
nginx生命周期相关命令
测试配置文件编写
/usr/local/nginx/sbin/nginx -t
启动
/usr/local/nginx/sbin/nginx
拓展:
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
3. 拓展隐藏tomcat项目名
原文复制:nginx反向代理隐藏端口号和项目名-布布扣-bubuko.com
原文:
可利用nginx反向代理隐藏端口号和项目名,直接输入ip即可访问对应的tomcat项目,配置nginx安装目录的nginx/conf/nginx.conf文件,修改如下:(只开了一个项目名为film5的web项目)
server {
listen 80;
server_name 127.0.0.1;
server_name_in_redirect off;
proxy_set_header Hostserver_port;
proxy_set_header X-Real-IPremote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location / {
proxy_pass http://127.0.0.1:8080/film5/;
}location /film5/ {
proxy_pass http://127.0.0.1:8080/film5/;
}
}
红色部分是需要单独修改的,直接输入ip,默认是80端口,被nginx代理后,转到http://127.0.0.1:8080/film5/ 访问项目
4. 访问不通,列几种常见问题解决
- 查看80、443端口,安全组和服务器防火墙是否都打开了。
- 配置文件的链接是否都正确