Nginx 安装 SSL 配置 HTTPS

朱雀 2023-02-21 04:57 304阅读 0赞

查看 nginx 是否安装 http_ssl_module 模块。

  1. $ /usr/local/nginx/sbin/nginx -V # nginx -V 部分系统也可以

configure arguments: —prefix=/usr/share/nginx —sbin-path=/usr/sbin/nginx —modules-path=/usr/lib64/nginx/modules —conf-path=/etc/nginx/nginx.conf —error-log-path=/var/log/nginx/error.log —http-log-path=/var/log/nginx/access.log —http-client-body-temp-path=/var/lib/nginx/tmp/client_body —http-proxy-temp-path=/var/lib/nginx/tmp/proxy —http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi —http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi —http-scgi-temp-path=/var/lib/nginx/tmp/scgi —pid-path=/run/nginx.pid —lock-path=/run/lock/subsys/nginx —user=nginx —group=nginx —with-file-aio —with-ipv6 —with-http_ssl_module --with-http_v2_module —with-http_realip_module —with-stream_ssl_preread_module —with-http_addition_module —with-http_xslt_module=dynamic —with-http_image_filter_module=dynamic —with-http_sub_module —with-http_dav_module —with-http_flv_module —with-http_mp4_module —with-http_gunzip_module —with-http_gzip_static_module —with-http_random_index_module —with-http_secure_link_module —with-http_degradation_module —with-http_slice_module —with-http_stub_status_module —with-http_perl_module=dynamic —with-http_auth_request_module —with-mail=dynamic —with-mail_ssl_module —with-pcre —with-pcre-jit —with-stream=dynamic —with-stream_ssl_module —with-google_perftools_module —with-debug —with-cc-opt=’-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong —param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic’ —with-ld-opt=’-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E’

如上图有‘--with-http_ssl_module’ 这个选项,表示已经安装SSL模块。可直接进入配置nginx.conf 配置

Nginx.conf 配置

编辑 /usr/local/nginx/conf/nginx.conf 配置文件:

配置 https server。注释掉之前的 http server 配置,新增 https server:

  1. server {
  2. # 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
  3. listen 443 ssl;
  4. # 域名,多个以空格分开
  5. server_name hack520.com www.hack520.com;
  6. # ssl证书地址
  7. ssl_certificate /usr/local/nginx/cert/ssl.pem; # pem文件的路径
  8. ssl_certificate_key /usr/local/nginx/cert/ssl.key; # key文件的路径
  9. # ssl验证相关配置
  10. ssl_session_timeout 5m; #缓存有效期
  11. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
  12. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
  13. ssl_prefer_server_ciphers on; #使用服务器端的首选算法
  14. location / {
  15. root html;
  16. index index.html index.htm;
  17. }
  18. }

将 http 重定向 https。

  1. server {
  2. listen 80;
  3. server_name hack520.com www.hack520.com;
  4. return 301 https://$server_name$request_uri;
  5. }

重启 nginx

  1. $ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

如果 80 端口被占用,用kill [id]来结束进程:

  1. # 查看端口使用
  2. $ netstat -lntp
  3. Active Internet connections (only servers)
  4. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  5. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21307/nginx: master
  6. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3072/sshd
  7. tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 21307/nginx: master
  8. # 结束 80 端口进程
  9. $ kill 21307

再次重启 nginx:

  1. $ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

或者:

  1. service nginx restart

更多内容请登录www.mihaoyun.com查看

发表评论

表情:
评论列表 (有 0 条评论,304人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux+nginx使用ssl配置https

    .首先要去服务器上面申请证书,申请证书步骤我就不多说了,必须有域名才能申请哦,我这里使用的是腾讯云服务器,下载证书 ![watermark_type_ZmFuZ3poZ...