确保电脑已经具备jdk环境。
jdk安装方法网上教程很多,随便安装哪个版本都行。

二、确保电脑已经安装tomcat。
tomcat安装方式也较为简单,网上均有各类教程,我这安装的是9.0.102版本,安装配置完后浏览器输入localhost:8080能进入以下页面即为成功。

三、准备工作都做好以后去nginx官网(https://nginx.org/)下载对应的nginx版本。点击右侧download


nginx版本尽量选新一点的,支持性会好一些。
安装nginx时要注意,解压到不含空格和特殊字符的目录(推荐 C:\nginx)

进入nginx目录启动nginx,浏览器访问 http://localhost,看到 “Welcome to nginx!” 页面即成功


四、安装openssl,用于生成证书;
安装包网上也比较多,找一个符合你自己系统的安装,一直点下一步就好了。
安装完以后进入命令行,进入安装目录,输入openssl version验证安装是否成功,如若出现OpenSSL 1.1.1c 28 May 2019类似版本号的则代表安装成功。
生成私钥:
openssl.exe genrsa server.key 2048

执行后会在目录下生成一个server.key的私钥
生成一个证书请求文件:
openssl.exe" req -new -key server.key -out server.csr


生成一个自签证书:
openssl.exe" x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


五、配置 Nginx(核心:SSL 终结 + 反向代理)
- 先备份nginx配置文件

- 编辑配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# 1. HTTP自动跳转HTTPS(新增)
server {
listen 80;
server_name localhost; # 你的域名或localhost
return 301 https://$host$request_uri; # 永久重定向到HTTPS
}
# 2. HTTPS服务器配置(修改默认的HTTPS模板)
server {
listen 443 ssl;
server_name localhost; # 与证书的Common Name一致
# SSL证书配置(替换为你的证书路径)
ssl_certificate ssl/server.crt; # 证书文件路径
ssl_certificate_key ssl/server.key; # 私钥文件路径
# SSL安全配置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3; # 支持的TLS版本
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 3. 反向代理到Tomcat(核心配置)
location / {
proxy_pass http://localhost:8080; # 代理到Tomcat的8080端口
# 传递原始请求信息
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; # 传递HTTPS协议
}
}
}
修改后保存文件进行测试,如果提示成功则证明配置文件没问题

这里测试成功可以重启服务准备测试访问了
重新加载下nginx服务
nginx.exe -s reload


可以看到输入https://localhost也能访问tomcat了,成功实现Nginx SSL代理tomcat 访问

1742

被折叠的 条评论
为什么被折叠?



