nginx 支持 https 访问的配置——完整配置文件

关于https的介绍网上很多了,就不啰嗦了。

配置支持https的访问需要nginx安装了ssl模块。其次是要准备ssl证书,nginx版的证书包含了crt文件和key文件,这个ssl证书一般是从认证服务提供商那里申请。假定nginx服务已经准备妥当,现在需要增加https访问的支持,只需要修改一下nginx的虚拟主机配置文件就可以了。

先看完整的配置文件内容吧,重要的几个地方有写注释。

# your.domain.name.conf

# 这一块是监听 80 端口的访问请求,也就是http的访问
# 可以根据需要来决定要不要监听 80 端口,不需要的话可以直接删除这块
server {
    listen        80;
    listen        [::]:80;
    server_name   your.domain.name;
    root          /your/web/root/path;

    # 把 http 访问重定向到 https
    rewrite ^(.*)$        https://$host$1 permanent;
}
###

server {
    # 监听来自 443 端口的访问请求,也就是https的访问
    listen       443;
    listen       [::]:443;
    server_name  your.domain.name;
    root         /your/web/root/path;
    ###

    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php$1 last;
    }

    access_log   /your/web/log/path/your_domain_name.access.log main;
    error_log    /your/web/log/path/your_domain_name.error.log info;

    # 启用 ssl 支持,然后载入 crt 和 key 文件
    ssl on;
    ssl_certificate /your/cert/file/path/your_domain_name/1_your.domain.name_bundle.crt;
    ssl_certificate_key /your/cert/file/path/your_domain_name/2_your.domain.name.key;
    ###

    include /etc/nginx/default.d/*.conf;

    location / {
        index index.php index.html;
    }

    location ~ .*\.php(\/.*)*$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    error_page 404 /404.html;
    location = /40x.html {

    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {

    }
}

修改完成后记得重启一下nginx服务。

以上是nginx的虚拟主机配置文件,具体存放位置会有些不一样,我的是CentOS服务器,nginx配置文件存放在 /etc/nginx/conf.d/ 目录下(有些主机商提供部署好的web环境,路径也可能不一样)。

关于里面的配置内容,不必全盘搬照(你能看得出来,我这里服务器端用的是PHP语言),只要注意有注释的地方就可以了。

原文地址:https://www.cnblogs.com/alanabc/p/9214751.html

时间: 2024-10-10 04:52:30

nginx 支持 https 访问的配置——完整配置文件的相关文章

certbot在Centos7上配置合法签名证书,实现nginx的https访问

咖菲猫-李常明笔记 公司因之前使用的openssh创建的自签名证书,有一个弊端,就是在某些客户端上不能使用此证书,无法使用https连接,所以,研究了一下certbot 做签名证书! certbot的官网地址: https://certbot.eff.org/ 1.制作证书前的准备: 你需要有一个公网地址,并绑定合法域名 2.开始制作: (1).下载Certbot客户端: wget https://dl.eff.org/certbot-auto (2).下载后,进入下载的目录,添加执行权限 ch

Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)

Nginx+Tomcat+Memcached负载均衡配置完整流程: 前言: Nginx实现Tomcat的负载均衡和利用memcached实现session共享. 首先配置tomcat,JDK 将jdk,tomcat 放入站点/opt目录中 安装JDK cd /opt chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin java -version      //检验版本 安装Tomcat tar -zxf apache

新手玩阿里云ECS搭建CentOS5.8搭建svn服务器支持https访问方式

关于svn,之前我也不了解这是个什么东西,去年(大二)的时候,在学校接触过一个项目,当时就用到了这个,也都不是我配置的,都是别人给我整好了,我就写代码呗,写了就提交上去,当时也没有考虑过什么事svn,现在在公司实习了,时间很充裕,就想玩玩svn,也顺便把我准备做的毕业设计都传上去,阿里云给了我机会,新手注册,ECS免费半年,多好的事,虽然没有外网带宽,但是买1M的外网带宽也就20多块钱一个月吧!我还是可以接受的,好了不废话了,阿里云在这里就不废话了,反正感觉很高大上,在这里就简单聊聊svn吧!也

Nginx支持https訪問

Nginx支持https訪問 # yum -y install openssl openssl-devel 然后就是自己颁发证书给自己 # cd /usr/local/nginx/conf 1.創建帶密鑰口令的私鑰key # openssl genrsa -des3 -out server.key 1024 2.創建證書申請文件csr # openssl req -new -key server.key -out server.csr 3.清除私鑰的口令,重新生成不帶密鑰的key(不清除口令,重

nginx使用ssl模块配置支持HTTPS访问

默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数. 需求: 做一个网站域名为 www.localhost.cn 要求通过https://www.localhost.cn进行访问. 10.10.100.8 www.localhost.cn 实验步骤: 1.首先确保机器上安装了openssl和openssl-devel #yum install openssl #yum install openssl-devel 2.创建服务

Nginx安装配置|Nginx反向代理|Nginx支持HTTPS|Nginx重定向

Nginx安装配置 可以直接看到最下面的HTTPS. Nginx安装 我的系统如下: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial 安装(如果有apache服务器, 建议卸载了, 或者改Nginx的默认端口): sudo apt-get install nginx 此时已经开启了80端口, 并且配置处在etc/

配置nginx支持https

 一:开启Nginx的SSL模块 Nginx如果未开启SSL模块,配置Https时提示如下错误: nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf 解释:nginx缺少http_ssl_module模块,需要在已安装的nginx中添加ssl模块. 说明:我的nginx安装目录为:/usr/local/nginx , 源码包在/usr/sr

编译nginx支持https+http2+nginx-http-concat模块

现在很多网站要求https访问,既能提高安全性,也避免运营商劫持.又必须给nginx加上这些功能. 注意:编译nginx需要安装好gcc gcc-c++ pcre下载地址: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 我用的是8.39版本的pcre openssl源码包下载地址: https://www.openssl.org/source/ 或者 https://github.com/openssl/openssl/releas

小程序后端项目【Springboot框架】部署到阿里云服务器【支持https访问】

前言: 我的后端项目是Java写的,用的Springboot框架.在部署服务器并配置https访问过程中,因为做了一些令人窒息的操作(事后发现),所以老是不能成功. 不成功具体点说就是:域名地址可以正常访问(http/https均可),而部署在服务器上的API仍然只能通过http访问,通过https访问会显示不安全连接! 通过提交工单,得到阿里云工作人员的帮助,他们给出了答案: 然后我想,我好像知道是咋回事了呢. 1. Springboot框架是内嵌有tomcat的!!我只是把项目打成Jar包放