0

0

nginx怎么配置ssl实现https访问

PHPz

PHPz

发布时间:2023-05-14 15:07:14

|

1383人浏览过

|

来源于亿速云

转载

申请证书

在这里,我直接申请腾讯云的免费证书。这里需要注意下,这亚洲诚信机构颁发的免费证书只能一个域名使用,子域名那些需要另外申请。别说,这腾讯里面申请还挺快的,十多分钟就通过了。下载的是一个zip文件,解压后打开里面的nginx文件夹,把1_xxx.com_bundle.crt跟2_xxx.com.key文件复制下来。

打开nginx配置文件

不知道nginx文件位置的话可以通过whereis nginx命令来查找。

nginx怎么配置ssl实现https访问

我的配置文件在/ect/nginx,现在把刚才的两个证书文件复制过来,待会直接配置使用就行了。nginx的配置文件是nginx.conf,里面的配置内容有以下,为了容易明白,我都加上了注释。

# 运行用户,默认即是nginx,可以不进行设置
user nginx;
#nginx进程,一般设置为和cpu核数一样
worker_processes 1;

#错误日志存放目录
error_log /var/log/nginx/error.log warn;
#进程pid存放位置
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; #nginx访问日志存放位置

 sendfile on; #开启高效传输模式
 #tcp_nopush on; #减少网络报文段的数量

 keepalive_timeout 65; #保持连接的时间,也叫超时时间

 #gzip on; #开启gzip压缩

 include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件
}

大致看一下就好了,这是全局配置。为了更好管理,我们还是在最后一行声明的/etc/nginx/conf.d文件夹里进行子项目配置。

打开里面的default.conf

#设定虚拟主机配置
server {
 #侦听443端口,这个是ssl访问端口
 listen 443;
 #定义使用 访问域名
 server_name xxx.com;
 #定义服务器的默认网站根目录位置
 root /web/www/website/dist; 

 #设定本虚拟主机的访问日志
 access_log logs/nginx.access.log main;

 # 这些都是腾讯云推荐的配置,直接拿来用就行了,只是修改证书的路径,注意这些路径是相对于/etc/nginx/nginx.conf文件位置
 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;
 }

 #静态文件,nginx自己处理
 location ~ ^/(images|javascript|js|css|flash|media|static)/ {
 #过期30天,静态文件不怎么更新,过期可以设大一点,
 #如果频繁更新,则可以设置得小一点。
 expires 30d;
 }

 #禁止访问 .htxxx 文件
 # location ~ /.ht {
 # deny all;
 #}

}
server
{
 # 80端口是http正常访问的接口
 listen 80;
 server_name xxx.com;
 # 在这里,我做了https全加密处理,在访问http的时候自动跳转到https
 rewrite ^(.*) https://$host$1 permanent;
}

唔,配置基本就这些,挺简单的吧。小白福利。

然后我们配置文件写好后用nginx测试一下

nginx -t

妥妥的,这个过了后就能重启nginx生效了。

花生AI
花生AI

B站推出的AI视频创作工具

下载

这里需要注意下,导入新的证书后需要重启而不是重载,nginx -s reload是普通修改配置重载。

# 停止nginx
nginx -s stop
# 启动
nginx

重启后再次访问自己的网站,啧啧,完美,左上角加上锁,提示安全的连接。诶,搞定,开心。

nginx日常操作命令

  • nginx -t 测试配置文件

  • nginx -s reload 修改配置后重载生效

  • nginx -s reopen 重新打开日志文件

  • nginx -s stop 快速停止

  • nginx -s quit

查看nginx进程

ps -ef | grep nginx

相关专题

更多
微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

2

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

74

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

133

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

54

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

106

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

44

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

11

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号