zoukankan      html  css  js  c++  java
  • Linux服务之nginx服务篇四(配置https协议访问)

    一、配置nginx支持https协议访问

      编译安装nginx的时候需要添加相应的模块--with-http_ssl_module和--with-http_gzip_static_module(可通过/usr/local/nginx/sbin/nginx -V来查看nginx编译参数)

    (yum安装不需要)

    二、防火墙开启https协议默认端口443

    1、vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下代码:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
    :wq! #保存退出
    service iptables restart #重启防火墙

    2、或者使用firewall-cmd添加防火墙规则

    firewall-cmd --add-port=443/tcp
    firewall-cmd --add-port=443/tcp --permanent

    三、创建https证书

    确保机器上安装了OpenSSL和openssl-devel

    yum install openssl openssl-devel #CentOS使用yum命令安装
    mkdir /etc/nginx/ssl #创建证书存放目录
    cd /etc/nginx/ssl #进入目录
    
    创建服务器私钥:
    openssl genrsa -des3 -out server.key 1024  #根据提示输入证书口令(ryz123)
    
    创建签名请求的证书(CSR):
    openssl req -new -key server.key -out server.csr  #输入上面设置的口令(ryz123)
    #根据提示输入相应的信息
    Country Name (2 letter code) [XX]:cn #国家
    State or Province Name (full name) []:shanxi #省份
    Locality Name (eg, city) [Default City]:taiyuan #城市
    Organization Name (eg, company) [Default Company Ltd]:3344 #公司
    Organizational Unit Name (eg, section) []:yunwei #部门
    Common Name (eg, your name or your server's hostname) []:3344 #主机名称
    Email Address []:[email protected] #邮箱
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:123456 #证书请求密钥,CA读取证书的时候需要输入密码
    An optional company name []:3344 #公司名称,CA读取证书的时候需要输入密码
    
    openssl rsa -in server.key -out server_nopassword.key #对key进行解密
    openssl x509 -req -days 365 -in server.csr -signkey server_nopassword.key -out server.crt  #标记证书使用上述私钥(ryz123)和CSR
    
    [root@s2 ssl]# ls
    server.crt  server.csr  server.key  server_nopassword.key
    [root@s2 ssl]# pwd
    /etc/nginx/ssl

    四、修改nginx的配置文件,网站添加安全验证(https)

     server {
            listen  80;
            server_name     www.3344.com;
            location / {
            rewrite ^(.*)$ https://$host$1 permanent;  #把http协议重定向到https上面
            }
    }
     server {
            listen 443 ssl;
            server_name www.3344.com;
            ssl_certificate "/etc/nginx/ssl/server.crt";
            ssl_certificate_key "/etc/nginx/ssl/server_nopassword.key";
         fastcgi_param HTTPS $https if_not_empty; #有https协议时自动使用https,否则忽略这个参数。 root
    /var/www/html; }

    Linux下nginx配置https协议访问如上。

  • 相关阅读:
    文件File
    Vuex 模块化实现待办事项的状态管理
    浅谈jquery插件开发模式*****************************************************************************************
    git 详细的操作指南笔记
    Vue学习之路---No.5(分享心得,欢迎批评指正)
    Java 向Hbase表插入数据报(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac)
    MongoDB -- 查询
    3 分钟学会调用 Apache Spark MLlib KMeans
    架构设计:负载均衡层设计方案(4)——LVS原理
    Linux内核:关于中断你须要知道的
  • 原文地址:https://www.cnblogs.com/renyz/p/11841363.html
Copyright © 2011-2022 走看看