一、首先在阿里云申请免费ssl 证书。下载并放置到 nginx下的conf 目录:
如图:
二、然后安装 nginx SSL 组件。否则会报错 找不到 ssl 目录。
首先找到当初下载的解压目录,如果没了,那你就再下载一个当初的版本。
下载解压后。进入 解压目录:安装SSL 组件。
./configure --with-http_ssl_module
安装完成后,开始编译。
make
编译完成后,把 objs 下的 nginx 文件复制到 现在的nginx的安装目录:
我的目录是 :/usr/loacl/nginx/sbin/
注意:先把原来的备份。
mr /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/
三、配置 nginx .
#user nobody;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
# 名称为 mytomcat 的被代理对象
upstream mytomcat{
server 127.0.0.1:8888;
}
# 你的 my.com 要指向 你服务器的 ip 具体配置方式:阿里云 配置时 主机前缀使用 @
server {
listen 80;
server_name my.com; #浏览器访问 my.com 请求时,使用该配置
rewrite ^ https://www.my.com$request_uri? permanent; # 区别是 http 跳转到 https
}
# 你的 www.my.com 要指向 你服务器的 ip
server {
listen 80;
server_name www.my.com; #浏览器访问 www.my.com 请求时,使用该配置
rewrite ^ https://www.my.com$request_uri? permanent; # 区别是 http 跳转到 https
}
# HTTPS server SSL 安全链接配置
server {
listen 443 ssl;
server_name www.my.com; # 拦截 https://www.irzhd.com 链接
ssl_certificate /usr/local/nginx/conf/cert/2272789.pem;
ssl_certificate_key /usr/local/nginx/conf/cert/2272789.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
error_page 404 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/nginx/html;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
proxy_connect_timeout 240;
proxy_send_timeout 240;
proxy_read_timeout 240;
# note, there is not SSL here! plain HTTP is used
proxy_pass http://mytomcat; #跳转到 mytomcat 被代理对象。
}
}
}
到这里就配置完毕了可以试试看是否能够运行了。
如果 依然不能访问tomcat 坚持一下。Tomcat配置的 server.xml 中的这两个地方是不是 443.已经value 是不是如下配置: