使用nginx方式实现http转换为https的示例代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使⽤nginx⽅式实现http转换为https的⽰例代码
最近在写⼀个⼩程序,因为⼩程序官⽹上必须要使⽤https,之前⽹站都是使⽤的http,⽽且使⽤的阿⾥云服务,于是就在阿⾥云上购买的ssl服务,以下是配置过程。

1.⾸先是去阿⾥云上购买ssl,当然有免费版,但是只能⽀持⼀个域名,⽽且同⼀个域名只能购买20个证书,各个明细⼦域名都算⼀个域名
 2.购买ssl证书之后去证书控制台,这个时候需要补全资料,补全之后等待审核,⼀般只需⼏分钟就能审核通过。

 3.审核之后就需要去下载证书
4.然后需要去所在服务器上配置key和pem,当然我们这⾥选择的是⾃动⽣成key,如果有必要可以⾃⼰去制作key,按照阿⾥云上的步骤操作就是了。

如下所⽰:
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/21.pem;
ssl_certificate_key cert/21.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 / {
root html;
index index.html index.htm;
}
}
这时候不要忙着去重启nginx,⾸要要去查看nginx是否增加ssl模块,如果没有,需要重新编译,先执⾏sudo apt-get install openssl libssl-dev安装ssl,然后进⼊nginx⽬录执⾏如下语句:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/home/scp/fastdfs-nginx-module/src \
--with-http_stub_status_module \
--with-http_ssl_module
执⾏完语句后执⾏make 然后 make install,这个时候如果重启nginx后,外⽹可能还是⽆法访问,因为阿⾥云端⼝需要我们⾃⼰配置,需要先去安全组添加对443端⼝的过滤,我这⾥是ubuntu系统,同时要在终端执⾏ufw allow 443,这时去访问调⽤即可。

然后需要将80端⼝访问跳转到443
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
到此这篇关于使⽤nginx⽅式实现http转换为https的⽰例代码的⽂章就介绍到这了,更多相关nginx http转换为https内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

相关文档
最新文档