nginx常用配置系列-HTTPS配置
接上篇,nginx配置系列
HTTPS现在已经很流行,特别是AppStore上线的应用要求使用HTTPS进行通信,出于安全考虑也应该使用HTTPS,HTTPS配置需要准备证书文件,现在也有很多免费证书可以申请,比如阿里云
证书相关有两个文件,一个key文件server.key,一个证书文件server.crt(证书文件的格式有很多(pem,p12,crt等)一般使用pem或crt,nginx都支持)
直接看配置代码(example.com.conf文件)
server { # HTTPS 默认443端口 listen 443 ssl; # 证书文件配置,指定证书的路径,除了证书路径其他配置都默认 ssl_certificate /usr/local/nginx/ssl/server.crt; ssl_certificate_key /usr/local/nginx/ssl/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5:!DH; # host server_name example.com www.example.com; #设置长连接 keepalive_timeout 70; #减少点击劫持 add_header X-Frame-Options DENY; #禁止服务器自动解析资源类型 add_header X-Content-Type-Options nosniff; #防XSS攻击 add_header X-Xss-Protection 1; # 默认index index index.html index.htm index.php default.html default.htm default.php; # 代码的根目录 root /home/wwwroot/example; # 访问日志 access_log /home/wwwlogs/example.com.log main; # 文件的规则(详见http://seanlook.com/2015/05/17/nginx-location-rewrite/index.html) location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } } # 全站使用HTTPS,让通过HTTP访问的用户301跳转到HTTPS server { listen 80; server_name example.com www.example.com; #使用return的效率会更高 return 301 https://$server_name$request_uri; }
这个配置最需要关注的就是证书文件的配置,再就是HTTPS的端口默认是443,如果全站使用HTTPS的话,需要让80端口的HTTP请求跳转到HTTPS请求即可
============= nginx HTTPS 配置完毕 ==============
文中有不足指出请直接指出,一起学习讨论,QQ:1485619676
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端