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协议访问如上。

  • 相关阅读:
    css3多列
    伪元素
    text文本样式二
    透明登录框
    透明度设置opacity
    超链接
    meta标签
    奇偶选择器
    OC跟Swift混编
    Swift中as as! as?的区别
  • 原文地址:https://www.cnblogs.com/renyz/p/11841363.html
Copyright © 2011-2022 走看看