使用过程
nginx是一款轻量级的http和反向代理服务器,常被用作代理服务器(包括正向代理和反向代理)和负载均衡。
背景
现在需要把http的请求转发为https的请求(利用其反向代理的特性):
- 首先保证我们的后台是https的服务,我们需要申请域名(阿里云可以申请,费用30多一年,需要进行备案,即上传个人身份证照片),租公网服务器,和之前的域名进行绑定;
- https的服务需要通过ssl认证,阿里云有免费的ssl服务,审核通过后需要下载对应的证书到我们的后台应用里,有tomcat 、nginx等版本;
- nginx服务的默认端口是80,ssl服务的默认端口是443,所以我们需要在云服务器管理台把这些端口加入安全组,同时在服务器上给相应端口加白名单;
- 安装nginx,可以选择wget 下载对对应的安装包,也可以通过yum安装,但是nginx有一些依赖,比如ssl、gcc相关的组件,所以最好先装这些,安装完成后配置环境变量,有系统环境变量和用户环境变量,这里我们配置用户环境变量(不配的话后面执行reload会报错), 修改完后执行 source .bash_profile 立即生效,然后我们可以在nginx的安装根目录下建立cert目录,用来存放我们下载的证书文件;
- /usr/local/nginx/conf/nginx.conf 是nginx的配置文件,这里可以配置转发的域名地址端口、证书地址等信息,修改完以后 nginx -t 可以检测我们修改后的文件是否有简单的错误,如果没有错误,可以再执行 nginx -s reload 进行重载生效,其中vi模式下如果突然断网,会生产对应的swp文件,我们可以执行 vi -r test rm .test.wap(不要忘掉前面的点),这些swp文件如果不删可能会使我们之后修改的文件不生效 ;
- 一切修改完成以后,就可以在浏览器访问我们的域名了;
- 配置文件中 80端口 return 301 https:// h o s t host hostrequest_uri http 转https