1、先去阿里云申请一个免费证书
阿里云地址:阿里云通用售卖
2、申请证书
填写申请:
验证信息
3、安装证书
1.将证书放到/usr/local/nginx/conf/cert目录下
2.配置nginx.conf文件,注意Nginx版本需要在 1.15.0以上才可以使用下面的配置
3.1 html项目的配置:
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name www.wugenet.com; #证书绑定的域名。
root html;
index index.html index.htm;
ssl_certificate cert/www.wugenet.com.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/www.wugenet.com.key; #需要将cert-file-name.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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root /usr/local/nginx/zceshi;
index index.html;
}
}
server {
listen 80;
server_name www.wugenet.com; #证书绑定的域名。
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
index index.html index.htm;
}
}
3.2 后端项目的配置,这里nginx用的是1.5以下的版本
server {
listen 443;
ssl on;
server_name www.wugenet.com;
root html;
index index.html index.htm;
ssl_certificate cert/www.wugenet.com.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/www.wugenet.com.key; #需要将cert-file-name.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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
#本地项目,8000是项目的端口号
proxy_pass http://127.0.0.1:8000;
#其他服务器上的项目,端口号是8001
proxy_pass http://192.168.187.237:8001;
# 默认访问地址
root html;
# 默认访问文件
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.wugenet.com;
location / {
#支持http的访问
proxy_pass http://http://127.0.0.1:8000;
proxy_pass http://192.168.187.237:8001;
#不支持http的访问,将http访问转换为https访问
rewrite ^(.*)$ https://$host$1;
root html;
index index.html index.htm;
}
}
4、配置好后无法访问http是的问题
已阿里云服务器为例,
1、打开服务器的安全组,看看有没有将443端口配置上