nginx 配置 https http

nginx 配置 https 域名访问

参考文档https://blog.csdn.net/heng_yan/article/details/93874035
1.域名已经分配好 这时需要和项目进行关联,能通过域名访问连接调通
分配的域名: https://xxx.com
2个证书文件: xxx.key文件,xxx.pem证书放在服务器上的
使用本地命令把文件放在服务器上

2.进入liunx服务器 先查询服务器是否配置过nginx
使用nginx -V查看是否存在
scp /Users/xxx.key root@ip:nginx根目录
scp 文件路径 root@ip:nginx根目录 放在那个服务器上的那个目录下

3.找到nginx目录文件
宝塔的虚拟主机目录是xxx/xxx/nginx
创建一个文件后缀名为xxx.conf .conf文件 只有为.conf nginx重启才自动识别生效
创建文件 cat>>文件名称
文件内容

//upstream 任意名称{
    server 要指向的访问地址 ip:端口
}
upstream 任意名称 {
        server ip:端口;
}
server {
         listen 443 ssl; //https请求端口默认都是443
         server_name xxx.com; //域名
         ssl_certificate xxx.pem; //对应的证书文件
         ssl_certificate_key xxx.key;//对应的证书文件
         ssl_session_timeout 5m; //默认
         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
         ssl_prefer_server_ciphers on;

        location / {
            //因https都会先使用OPTIONS请求看下接口通不通,这里就是设置可跨域处理
                if ($request_method = 'OPTIONS') {
                          access_log off;
                          add_header Access-Control-Allow-Origin *;
                          add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
                          add_header Access-Control-Allow-Headers *;
                          return 200; 
                }
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass 别名【ip:端口】;  //对应的要替代的接口
                
        }
        error_log xxx.log; //错误日志
}

4.重启
服务 /nginx根目录 -s reload
nginx根目录 -s reload

注意:
因https请求端口443有可能未放行,也会导致接口无法访问
那么需要在宝塔-安全里,把443端口开放一下,https接口即可访问
使用 bt default 查看宝塔账号密码

nginx 配置 http 域名访问

//upstream 任意名称{
    server 要指向的访问地址 ip:端口
}
upstream 任意名称 {
        server ip:端口;
}
//创建一个服务
server {
         //服务访问的端口,默认为80,可设置其他 
         listen 80;
         //server_name 域名
        server_name 域名;        
        location / {
                //proxy_set_header 下列3个是默认的
                //此处对应的host就知道代表的啥了,$host代表转发服务器,$proxy_port代表136转发服务器请求后端服务器的端口,也就是80
                proxy_set_header Host $http_host;
                //将$remote_addr的值放进变量X-Real-IP中,此变量名可变,$remote_addr的值为客户端的ip nginx转发136服务器日志格式为:
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    
                // proxy_pass 上面方法
                proxy_pass http://方法;
        }
        //错误日志可不写
        error_log 日志目录.log;
}

重启
服务 /nginx根目录 -s reload
nginx根目录 -s reload

你可能感兴趣的:(nginx,https,http)