阿里云Nginx配置ssl证书 与 Http转Https
因域名需要使用https访问,决定申请阿里云免费SSL证书并使用nginx配置http强制跳转https。
- 步骤一
证书申请
登录阿里云官网,在搜索栏搜索SSL证书(应用安全)
点击购买证书,按照图片右侧选项选择个人免费(反正价格是0.00元的就对了)
支付订单
支付成功,前往证书控制台
点击证书申请
填写证书申请,CSR生成方式选择系统生成
验证,没问题的话大概半小时左右就收到已签发邮件了
证书已签发,点击下载
根据自己服务器类型选择下载,由于我的是Nginx,所以选择Nginx下载
- 步骤二
Nginx证书配置
Nginx中进行配置
- 下载并安装nginx(博主的是内置的Nginx,所以不用下载)
- 进入/etc/nginx/目录下,nginx安装目录下新建cert文件夹,将下载的证书解压放在/etc/nginx/cert目录下
cd /etc/nginx/
mkdir cert
- 进入nginx.conf文件中,编辑配置文件
vim nginx.conf
- 在http中添加server,做反向代理按下面配置
server{
listen 80;
#重定向跳转https
return 301 https://localhost$request_uri; #localhost修改为你的域名
}
server {
listen 443 ssl;
server_name localhost; # localhost修改为您证书绑定的域名。
ssl on;
#root html;
#index index.html index.htm;
ssl_certificate cert/domain_name.pem; #将domain_name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain_name.key; #将domain_name.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 / {
proxy_pass http://127.0.0.1:8090; #选填你的端口号
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
}
注意:下面这两条是导入默认页面配置,如果不注释掉则会默认跳转默认页面(之前因为没看见找了几个小时!!!😭)
#include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*;
- 按Esc进入命令模式保存并退出
:wq
- 步骤三
重启Nginx
仅仅配置是不行的,还需要重新启动一下,这样子才能让我们的配置生效。
nginx -s reload
- 步骤四
刷新页面
成功!!!😄
即使访问的是http也会重定向变成https!
tips:你的鼓励是博主最大的动力!😃