我购买的是阿里云服务器和阿里云域名,我想着两个在一起,方便使用(也可以不在一起,购买的哪家的服务器,就需要在哪家备案,不要搞混了哦)。
推荐:【阿里云感恩回馈,云产品冰点价】新用户专享 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)。
也可以请我喝杯咖啡,与你畅谈人生。感谢各位大佬!!!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于