1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > nginx配置ssl实现https访问 亲测有效

nginx配置ssl实现https访问 亲测有效

时间:2020-05-24 05:48:47

相关推荐

nginx配置ssl实现https访问 亲测有效

nginx配置ssl实现https访问 亲测有效

申请证书运行用户,默认即是nginx,可以不进行设置停止nginx启动nginx日常操作命令

申请证书

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

打开nginx配置文件

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

我的配置文件在/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_nopushon; #减少网络报文段的数量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 ;#定义服务器的默认网站根目录位置root /web/www/website/dist; #设定本虚拟主机的访问日志access_log logs/nginx.access.log main;# 这些都是腾讯云推荐的配置,直接拿来用就行了,只是修改证书的路径,注意这些路径是相对于/etc/nginx/nginx.conf文件位置ssl on;ssl_certificate _bundle.crt;ssl_certificate_key .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 ;# 在这里,我做了https全加密处理,在访问http的时候自动跳转到httpsrewrite ^(.*) https://$host$1 permanent;}

配置基本就这些。

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

nginx -t

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

这里需要注意下,导入新的证书后需要重启而不是重载,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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。