阿里云https+nginx服务搭建

添加链接描述

购买证书
通过控制台进入CA证书服务,点击右上角的购买证书,进入如下图的界面,选择免费的Symantec的DV SSL。
购买https证书购买https证书
一路点过去,然后回到证书服务主页,会出现一条订单信息,点击补全,如下图所示。
证书信息补全证书信息补全
然后按照要求,首先填写你要申请证书的完整域名(例如www.test.com,因为此证书为单域名,不能使用通配符);然后填写个人信息,值得注意的是需要勾选下图红圈包围的选项,让验证自动化进行,不用手动操作;然后下一步,完成信息补全,等待几分钟,验证就可以通过。
个人信息个人信息
添加443端口(https)安全组规则
等待的这个时间,你可以去检查一下你的服务器的安全组配置,看一下是否加入了443端口的链接,防止后面连接不上。创建的新规则如下图。
�添加https安全组�添加https安全组
下载证书
几分钟后,可以看到下图的状态。
完成证书签发完成证书签发
接着点击下载,进入下图的界面,并点击下载证书for Nginx
下载证书下载证书
配置Nginx服务器
把这个文件解压后,会有两个文件,分别为***.pem和***.key(可以修改成你需要的名字),将这两个文件拷贝到你的Nginx根目录下的cert文件夹内(自己创建的,也可以命名成其他名字)。

接下来就要配置Nginx服务器了。

如果你配置了反向代理,�就去conf.d目录下,修改你要配置https的�conf文件。下面贴一个范例配置。其中端口80为http链接,设置为重定向https;端口443为https链接。

如果没有配置反向代理,应该可以直接在根目录下的nginx.conf中添加配置就行了(去掉最前面upstream test),这个我还没试过,感兴趣的小伙伴可以去试试。

upstream test {
server 127.0.0.1:8080;
}

server {
listen 80;
server_name www.test.com;
return 301 https:// h o s t host hostrequest_uri;
}
server {
listen 443;
server_name www.test.com;

ssl on;
index index.html;
ssl_certificate   /etc/nginx/cert/***.pem;
ssl_certificate_key  /etc/nginx/cert/***.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_set_header  X-Forwarded-Host $host;
proxy_set_header  X-Forwarded-Proto $scheme;
proxy_set_header  X-Real-IP  $remote_addr;
proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
expires off;
sendfile off;
proxy_pass http://test;

}
}

server {
    listen 443;
    server_name pay.mishanmy.cn;
    ssl on;
   # root html;
   index index.html index.htm;
    ssl_certificate   /etc/nginx/2883189_pay.mishanmy.cn.pem;
    ssl_certificate_key  /etc/nginx/2883189_pay.mishanmy.cn.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_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
expires off;
sendfile off;
root   /usr/share/nginx/html/063mall/public;
        index  index.php;
        try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
        root           /usr/share/nginx/html/063mall/public;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    }
             

配置完以后运行nginx -s reload重新加载配置,去浏览器输入链接,此时成功进入https链接

你可能感兴趣的:(其他)