新闻动态

为您提供行业资讯、活动公告、产品发布,汇聚最前沿流行的云计算技术

新闻公告


扫一扫添加企业微信客服

扫一扫添加企业微信客服


扫一扫添加微信客服

扫一扫添加微信客服

< 返回新闻公共列表

Linux 设置 Nginx 并配置SSL 实现HTTPS/WSS协议访问新手教程

发布时间:2018-11-11 08:00:00 文章来源:互联网


如需了解“Linux 设置 Nginx 并配置SSL 实现HTTPS/WSS协议访问新手教程”等有关服务器、云主机租用、虚拟主机、配置、价格问题、请咨询在线客服获取更多帮助和新优惠!


Nginx是一款由俄罗斯程序员Igor Sysoev所开发的,它可以被作用HTTP和反向代理服务器,也可以用作电子邮件代理服务器。Nginx最初设计是为了俄罗斯访问量最大的网站rambler.ru所设计的,后来因为其出色的高性能被众多的大型网站所采用,如百度、京东、新浪、网易、腾讯、淘宝等都用了Nginx,是个程序员你不会点Nginx你都不好意思。 Nginx在Linux服务器上的表现是最佳的,简直就是为Linux贴身打造的,事实上也是这样原作者参考了Linux设计的很多思想,这里我们就讲解一下如果在Linux 设置 Nginx,并配置SSL,让其实现HTTPS/WSS访问。 Nginx Linux 安装 Nginx第一个公开版本0.1.0发布于2004年10月4日,截止目前2018年11月11日最新版本是1.15.6,但是这里我们以1.11.6版本为例,其他版本类似,只需把版本号替换一下就是。 在根目录下输入下面的命令下载Nginx wget -c https://nginx.org/download/nginx-1.11.6.tar.gz 输入下面的命令解压压缩包 tar -zxvf nginx-1.11.6.tar.gz 在执行命令前我们需要添加依赖库,继续输入下面的命令 1、安装gcc 环境 yum install gcc-c++ 2、安装PCRE依赖库 yum install -y pcre pcre-devel PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。 3、安装zlib 依赖库 yum install -y zlib zlib-devel zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。    zlib依赖库安装命令: 4、安装OpenSSL安全套接字层密码库   yum install -y openssl openssl-devel OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。 Nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。 进入Nginx安装目录(cd nginx-1.11.6 )执行配置命令 ./configure 编译安装Nginx 执行安装命令 make install 启动、停止Nginx等常用命令说明 首先进入Nginx目录 cd /usr/local/nginx/sbin/ 下面的命令意思如下 ./nginx 开启 ./nginx -s stop 停止 ./nginx -s quit 此方式停止步骤是待nginx进程处理任务完毕进行停止。 ./nginx -s reload 重新加载Nginx配置文件 更改Nginx配置文件 进入配置文件文件夹 cd /usr/local/nginx/conf 备份配置文件 cp nginx.conf nginx.conf.back 编辑nginx.conf配置文件 vi nginx.conf Linux Vi编辑命令如下: i键进入编辑模式 Esc键退出编辑模式进入命令模式 命令模式下:英文冒号+q!代表不保存退出,英文冒号+wq保存退出 要实现https访问,Nginx配置文件如下示例: worker_processes  1; events { worker_connections  1024; } http { include       mime.types; default_type  application/octet-stream; upstream mqttServer { server 你需要转发目的地址+端口 weight=1; #check interval=3000 rise=2 fall=5 timeout=1000; } server { listen       443 ssl; server_name  你的域名; ssl_certificate C:/nginx-ssl/crt地址; ssl_certificate_key C:/nginx-ssl/key地址; ssl_session_cache    shared:SSL:10m; ssl_session_timeout  5m; ssl_ciphers  HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers  on; location / { proxy_pass http://mqttServer; proxy_redirect off; proxy_connect_timeout 86400; proxy_read_timeout 86400; proxy_send_timeout 86400; } keepalive_timeout 1000; } } 要实现WSS访问,Nginx配置文件如下示例: worker_processes  1; events { worker_connections  1024; } http { include       mime.types; default_type  application/octet-stream; upstream mqttServer { server 你需要转发目的地址+端口 weight=1; #check interval=3000 rise=2 fall=5 timeout=1000; } server { listen       443 ssl; server_name  你的域名; ssl_certificate C:/nginx-ssl/crt地址; ssl_certificate_key C:/nginx-ssl/key地址; ssl_session_cache    shared:SSL:10m; ssl_session_timeout  5m; ssl_ciphers  HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers  on; location / { proxy_pass http://mqttServer; proxy_redirect off; proxy_connect_timeout 86400; proxy_read_timeout 86400; proxy_send_timeout 86400; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } keepalive_timeout 1000; } } 然后使用命令保存退出,重新加载配置 ./nginx -s reload 可是大多数第一次安装https证书,都会报错,说缺少SSL模块,报错信息如下所示: nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37 这时我们需要先安装SSL模块: 需要确认如下两点: 1、Nginx安装位置/usr/local/nginx/ 2、Nginx的源码包放在了/nginx-1.11.6下,如果没有的话,重新下载你对应的Nginx版本的源码包,找个目录解压 3、切换目录到Nginx的源码包位置 cd /nginx-1.11.6 4、执行命令安装ssl模块 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 5、安装 make 6、先备份Nginx cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak 7、关闭Nginx(因为要把新的模块覆盖旧的nginx) 先找到nginx端口号,如图,目前我nginx的进程号为:13542 ps -ef|grep nginx 执行语句,杀死该进程 kill -QUIT 13542 8、重新加载数据 cp ./objs/nginx /usr/local/nginx/sbin/ #先切换到sbin目录 cd /usr/local/nginx/sbin/ #最后启动nginx: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 因为刚才替换nginx模块的时候是把nginx进程都杀死了,所以要用上面的命令进行启动,而不能使用reload重启。 现在Nginx就不会报错了,以上就是Linux 设置 Nginx 并配置SSL 实现HTTPS/WSS协议访问新手教程,希望可以帮助的Nginx配置Https和WSS转发的新手朋友。


【文章声明】

本站发布的Linux 设置 Nginx 并配置SSL 实现HTTPS/WSS协议访问新手教程内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场

如果涉及侵权请联QQ:712375056进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

/template/Home/twy/PC/Static