刚刚部署完服务器后的我满怀欣喜地访问自己的网站,看哪都哪满意。但是兴奋感一过发现,诶,为什么浏览器左上角会提示不安全?想了想,不行,我也要搞个https来,我也要上锁!
HTTP协议以明文方式发送内容,不提供任何方式的数据加密。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
申请证书
在这里,我直接申请腾讯云的免费证书。这里需要注意下,这亚洲诚信机构颁发的免费证书只能一个域名使用,子域名那些需要另外申请。别说,这腾讯里面申请还挺快的,十多分钟就通过了。下载的是一个zip文件,解压后打开里面的Nginx文件夹,把1_XXX.com_bundle.crt跟2_XXX.com.key文件复制下来。
打开nginx配置文件
不知道nginx文件位置的话可以通过whereis nginx命令来查找。
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; include /etc/nginx/conf.d/*.conf; } 复制代码
大致看一下就好了,这是全局配置。为了更好管理,我们还是在最后一行声明的/etc/nginx/conf.d文件夹里进行子项目配置。 打开里面的default.conf
server { listen 443 server_name XXX.com root /web/www/website/dist access_log logs/nginx.access.log main ssl on ssl_certificate 1_XXX.com_bundle.crt ssl_certificate_key 2_XXX.com.key ssl_session_timeout 5m ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE ssl_prefer_server_ciphers on location / { root /web/www/website/dist index index.html } location ~ ^/(images|javascript|js|css|flash|media|static)/ { expires 30d } } server { listen 80 server_name XXX.com rewrite ^(.*) https://$host$1 permanent } 复制代码
唔,配置基本就这些,挺简单的吧。小白福利。
nginx -t 复制代码
这里需要注意下,导入新的证书后需要重启而不是重载,nginx -s reload是普通修改配置重载。
nginx -s stop nginx 复制代码
重启后再次访问自己的网站,啧啧,完美,左上角加上锁,提示安全的连接。诶,搞定,开心。
nginx日常操作命令
- nginx -t 测试配置文件
- nginx -s reload 修改配置后重载生效
- nginx -s reopen 重新打开日志文件
- nginx -s stop 快速停止
- nginx -s quit
查看nginx进程 ps -ef | grep nginx
原文链接:https://juejin.cn/post/6844903729632641031
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END