我购买的是阿里云服务器和阿里云域名,我想着两个在一起,方便使用(也可以不在一起,购买的哪家的服务器,就需要在哪家备案,不要搞混了哦)。
推荐:【阿里云感恩回馈,云产品冰点价】新用户专享 1 折起--云服务器 82 元/年起,这里有专享低价和代金券 》
第一步申请证书:
- 提交审核大概需要等 5-15 分钟就签发下来了
- 签发成功后,就可以下载所需的证书文件
第二步:Nginx 上的配置
1、nginx的相关配置一般都在
/etc/nginx/` 目录,因为 nginx 版本的不同,该目录中的内容一般都会不同,该目录在我机子上的内容如下所示:
$ ls conf.d fastcgi_params koi-utf koi-win mime.types modules nginx.conf scgi_params uwsgi_params win-utf
2、nginx.conf
是最最最重要的配置文件,其中 nginx.conf
文件又会把 conf.d/
目录中 *.conf
文件内容直接 include 进来,include 语句主要是这几句:
include /etc/nginx/conf.d/*.conf;
下面介绍一下我机子上 nginx.conf
文件的内容,主要是一些基础配置。我们可以看到最后一行 include 的内容,就是上面的内容。个人建议把一些站点的配置都放到 ./conf.d
目录中,方便日后管理(增删只有删除相应文件即可)。
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; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
3、上面介绍完nginx相关之后,开始正式配置。为了方便日后SSL证书的管理,我们在
etc/nginx/conf.d 目录中创建一个
cert 目录,然后把下载下来的证书拷贝到
/etc/nginx/conf.d/cert` 目录中。
$ ls XXX.com.key XXX.com.pem
4、在
etc/nginx/conf.d` 目录中创建一个 xxx.conf 文件,在 xxx.confi 文件内容,如下:
upstream backend { server localhost:8080; # 监听端口 } server { listen 80; server_name www.xjy520.vip; rewrite ^(.*)$ https://$host$1 permanent; #所有的http请求,全部重定向到https中。 } server { listen 443 ssl; server_name www.xjy520.vip; access_log /var/log/nginx/xjy520.access.log main; error_log /var/log/nginx/xjy520.error.log warn; ssl_certificate /etc/nginx/conf.d/cert/xjy520.pem; ssl_certificate_key /etc/nginx/conf.d/cert/xjy520.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; location / { proxy_pass http://backend$request_uri; #proxy_set_header Host $http_host; #proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; } }
`5、需要注意一下几点:
server_name
需要配置为你自己的域名昂;proxy_pass http://backend$request_uri;
这个是请求转发到你内网服务上了;ssl_certificate /etc/nginx/conf.d/cert/XXX.com.pem;
pem 文件的路径;ssl_certificate_key /etc/nginx/conf.d/cert/XXX.com.key;
ket 文件的路径;- http 的重定向,为了在使用 http 访问站点时,能自动跳转到 https 访问,下面我们设置一下重定向
server { listen 80; server_name www.xjy520.vip; rewrite ^(.*)$ https://$host$1 permanent; }
`6、最后一步重启 nginx 即可
$ systemctl reload nginx
本人软件开发 9 年多(会 JAVA、H5、VUE、小程序......等算是全栈开发了),已经回家创业了,专接私活、小活,如果有可以找我(Q:1320659513)。
也可以请我喝杯咖啡,与你畅谈人生。感谢各位大佬!!!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于