苹果在之前就说了,api接口得用https,不然不给上架,这是对于我来说无所谓,毕竟我们就是一个网站嘛~ 有没有s无所谓,但是我们要追求极高的造诣,那么加个s装个B也无所谓,来吧,那么就来设置一下吧
先说说现有情况,服务器是ngxin + tomcat,另外nginx已经加入了fastdfs模块(IIS以及apache服务器不适用本方法)
首先你要申请到免费的ssl证书:
1_www.domain.com_bundle.crt
2_www.domain.com.key
分别是证书和私钥,把他们上传至服务器nginx目录,放在conf下
然后修改配置,增加如下的443server
然后必须打开安全组中的443端口
然后重新进入nginx源码包,注意是源码包不是安装目录噢
./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--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/software/fastdfs-nginx-module/src
主要是第三和第四行,在nginx中加入了ssl模块
注意,如果你不用fastdfs的话,那么只需要如下即可:
./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
好,那么然后再重新编译
make
make install
OK,测试nginx的配置
./nginx -t
successful表示成功
重启nginx
./nginx -s stop
./nginx
重新访问页面,就能发现网站已经是HTTPS了:
但是,但是,但是,现在仅仅只是用https访问而已,如果你仅仅在浏览器中输入域名还是不够的,他不会转发请求到https,那么这个时候我们还需要做一步请求转发
有三种方式,一种是用JS控制,还有一种是在后台代码控制
最后一种是用ngxin转发
我们采用第三种:
我们只需要在80端口的那个server添加如下:
server_name www.youwebsite.com youwebsite.com;
rewrite ^(.*)$ https://$host$1 permanent;
如此设置即可,重新加载ngxin配置
./nginx -s reload
然后访问 www.网站.com 网站.com
会自动跳转到https下了