linux搭建nginx服务器配置https服务

本文涉及的产品
.cn 域名,1个 12个月
简介: 这篇日志记录下nginx配置https服务的过程。

QQ图片20220426220841.jpg

这篇日志记录下nginx配置https服务的过程。


服务器环境centos7.4


域名ssl证书可以去你的域名服务商那里免费下载,这个不多说了。


具体怎么配置官方都是有介绍的,我的证书是阿里云的:下边这个链接是阿里云的教程:


help.aliyun.com/document_de…


这个教程里边说的没问题,但是还是要根据自己的实际情况来。


之前说过,我配置多站点的方法是一个站点一个域名配置文件,这样在配置https的时候也就方便了。


具体请移步《nginx配置多站点同时运行


下边是我其中一个域名配置文件的代码:


server {
    listen       443;                        # 监听端口
    server_name  xxxxxx.guanchao.site;    # 站点域名
    root  /xxx/xxx/xxx/xxx/xxx/xxx;              # 站点根目录
    index index.html index.htm index.php;   # 默认导航页
    #https配置
    ssl on;
    ssl_certificate   cert/vue/1962730_xxxxxx.guanchao.site.pem;
    ssl_certificate_key  cert/vue/1962730_xxxxxx.guanchao.site.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    # 固定链接URL重写
    location / {
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
        }
    }
    # 配置错误页面
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    # 配置PHP访问
    location ~ .php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        #下面两句是给fastcgi权限,可以支持 ?s=/module/controller/action的url访问模式
        fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        #下面两句才能真正支持 index.php/index/index/index的pathinfo模式
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include  fastcgi_params;
    }
    #开启gzip功能
    gzip on; 
    #开启gzip静态压缩功能
    gzip_static on; 
    #gzip缓存大小
    gzip_buffers 4 16k;
    #gzip http版本
    gzip_http_version 1.1;
    #gzip 压缩级别 1-10 
    gzip_comp_level 5;
    #gzip 压缩类型
    gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;# 是否在http header中添加Vary: Accept-Encoding,建议开启gzip_vary on;
}
server {
   listen 80;
   server_name vue.guanchao.site;
   rewrite ^(.*)$  https://$host$1 permanent;     #将该域名的http访问重写至https
}


监听80的那段server建议留着,将所有的http请求都转发到https上。


理论上,这样配置完就好用了。


但是,网页无法访问。


事先说明一下,上边的配置是没有问题的,问题出在了,我服务器的443端口没有开放,所以,网站一直无法访问。


如果你也像我一样这样配置完成,发现网站无法访问,先去看看服务器的443端口是否开启。这个重要。



目录
相关文章
|
17天前
|
搜索推荐 安全 网络安全
服务器支持HTTPS的时机和条件
【10月更文挑战第23天】服务器支持HTTPS的时机和条件
12 5
|
21天前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
|
1月前
|
应用服务中间件 Linux nginx
Linux下操作Nginx相关命令
Linux下操作Nginx相关命令
|
1月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
233 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
2月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
137 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
1月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
70 0
|
1月前
|
网络协议 应用服务中间件 Linux
Linux安装nginx
Linux安装nginx
|
3月前
|
应用服务中间件 Linux PHP
【Azure 应用服务】App Service For Linux 环境中,如何修改 Nginx 配置中 server_name的默认值 example.com
【Azure 应用服务】App Service For Linux 环境中,如何修改 Nginx 配置中 server_name的默认值 example.com
|
3月前
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https