Nginx配置HTTPS访问(SLL证书配置)
一、购买证书
1.登录阿里云账号,进入控制台,找到SSL证书服务
2.点击免费证书
2.1.立即购买
选择数量20,每个账户每年有20个免费证书。同意协议后点击立即购买。
2.2.创建证书并且申请
2.3.申请证书
2.4.认证并等待审核
2.5.下载证书
二丶部署服务器
1. 打开服务器进入nginx安装的conf目录
/usr/local/nginx/conf
2.将下载的证书文件,完整的复制到config/cert下面。
将文件名改为域名
3. 更改config配置
找到该证书绑定的域名服务器
/usr/local/nginx/conf/vhost
配置如下,其中xxxxx.com根据具体的域名进行调整
橙色为修改,红色为新加
server
{
listen 443 ssl;#SSL协议访问端口号为443。
server_name xxxxx.com ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/xxxxx.com;#业务域名
#ssl配置
ssl_certificate cert/xxxxx.com.pem;
ssl_certificate_key cert/xxxxx.com.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;
ssl_session_cache shared:SSL:1m;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include proxy-pass-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
#去掉index.php
if ( !-e $request_filename){
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
access_log /home/wwwlogs/xxxxx.com.log;
}
4.负载均衡,有则必须配置
5.重启lnmp
检查nginx配置
/etc/init.d/nginx configtest
重启nginx
/etc/init.d/nginx reload
三、将http强行改写https
更改config配置
找到该证书绑定的域名服务器
/usr/local/nginx/conf/vhost
文件末端增加以下代码,并且xxxxx.com更替为你所使用的域名
server {
listen 80;
server_name xxxxx.com;
rewrite ^(.*)$ https://$host$1 permanent; # 强行将 http 转化 https 来访问。
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
来源地址:https://blog.csdn.net/weixin_44041965/article/details/126229381
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341