Nginx 配置http和https访问
2021-01-01 本文已影响0人
handsomePeng
前期准备
- Ubuntu配置nginx: https://www.jianshu.com/p/88f9ef3b80d4
- SSL证书:https://cloud.tencent.com/document/product/400/43473
Nginx服务器安装SSL证书
请参考:https://cloud.tencent.com/document/product/400/35244
http和https同时访问项目
1. 需求
http请求与https请求行为一致,即http请求与https请求访问同一个路径(项目)。
2. 实现方法
图片.png配置好后记得重启nginx。
http和https分开访问项目
1. 需求
单独配置https,并在https下配置好location
2. 实现方法
图片.png配置好后记得重启nginx。
http请求重定向到https
1. 需求
舍弃http,只能使用https访问
2. 实现方法
图片.png配置好后记得重启nginx。
问题记录
1. Linux系统下ngnix使用HTTPS协议启动报错:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.c
报错原因:
未安装SSL模块--ngx_http_ssl_module
解决办法:
1)执行安装: ./configure --prefix=/usr/local/nginx
2)安装https认证模块(上文未安装这个导致使用https协议保存):./configure --with-http_ssl_module
3)执行:make(这里不要进行make install,否则就是覆盖安装)
4)然后备份原有已安装好的nginx: cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
5)然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态): cp ./objs/nginx /usr/local/nginx/sbin/ 然后启动nginx,仍可以通过命令查看是否已经加入成功 /usr/local/nginx/sbin/nginx -V
安装了https认证模块的configure 参数应该包含如下红框内容:
图片.png