资讯专栏INFORMATION COLUMN

nginx 反向代理的基本配置以及ssl证书的配置

ivyzhang / 2121人阅读

摘要:由于国内免费的证书都是单域名证书因此每次配置时候都是需要重新制定证书。全站加密编辑文件,在上的位置在于沈略部分上面代码即可进行从自动跳转到上,从而实现全站加密。

nginx 反向代理的基本配置

[TOC]


1.安装nginx
pkill -9 apache2 # 关闭apache
sudo apt install nginx # 安装nginx,使用Ubuntu的包管理工具apt-get
2.修改apache 端口号,防止出错

所以直接在conf.d下简历host配置文件

写入host.conf 配置文件
server
{
        listen 80;
        server_name live.triste.com;
        index index.html index.htm index.php
        root /var/www/html;
        location / {
                proxy_pass http://localhost:81;
                proxy_redirect off;
                proxy_set_header        Host    $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
                proxy_max_temp_file_size 0;
                proxy_connect_timeout 90;
                proxy_send_timeout 90;
                proxy_read_timeout 90;
                proxy_buffer_size 4k;
                proxy_buffers 4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
        }
}

server
{
    listen 80;
        server_name info.triste.com;
        index index.html index.htm index.php
        root /var/www/html;
        location / {
                proxy_pass http://localhost:81;
                proxy_redirect off;
                proxy_set_header        Host    $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
                proxy_max_temp_file_size 0;
                proxy_connect_timeout 90;
                proxy_send_timeout 90;
                proxy_read_timeout 90;
                proxy_buffer_size 4k;
                proxy_buffers 4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
        }
}
重启nginx
sudo service nginx reload
效果图

nginx 访问

反向代理到apache

反向代理到apache

如何配置SSL 到nginx 并且反向代理呢

假设在拥有了ssl证书的情况下:

直接上代码如下:

server {
        listen 443;
        server_name www.domain.com; #填写绑定证书的域名
        ssl on;
        ssl_certificate 1_www.domain.com_bundle.crt;
        ssl_certificate_key 2_www.domain.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        location / {
            root   html; #站点目录
            index  index.html index.htm;
        }
    }

上面代码就配置了www.domain.com, 现在你就可以通过https://www.domain.com 来访问了.

配置反向代理:

server {
        listen 443;
        server_name blog.domain.com; #填写绑定证书的域名
        ssl on;
        ssl_certificate blog.domain.com_bundle.crt;
        ssl_certificate_key blog.domain.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
    location / {
                proxy_pass http://localhost:81;
                proxy_redirect off;
                proxy_set_header        Host    $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
                proxy_max_temp_file_size 0;
                proxy_connect_timeout 90;
                proxy_send_timeout 90;
                proxy_read_timeout 90;
                proxy_buffer_size 4k;
                proxy_buffers 4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
    }
}

如上就配置了https 反向代理。

由于国内免费的ssl证书都是单域名证书因此每次配置时候都是需要重新制定证书。

全站加密

编辑nginx.conf 文件,在Ubuntu上的位置在于: /etc/nginx/nginx.conf

http {
    # 沈略部分
    server {
        rewrite ^(.*) https://$host$1 permanent;
    }
}

上面代码即可进行从http 自动跳转到https 上,从而实现全站加密。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39619.html

相关文章

  • 一文教您如何通过 Docker 搭建反向代理 Ngnix,并配置 Https SSL 证书

    摘要:由于上面我们已经新建了一个配置文件,这里就直接将反向代理的配置写在里面通过配置,我们反向代理到了端口的服务。六最后本文中,我们学习了如何通过快速搭建环境,并对其配置证书和反向代理,让网站能够以协议来访问。 欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习、面试资源哟!!个人网站: https://www.except...

    ZHAO_ 评论0 收藏0
  • centos7+nginx反向代理tomcat+https://域名访问

    目 标:实现https://域名访问tomcat主页OS环境:centos7.4(腾讯云服务器)软件准备(离线包):tomcat8 jdk1.8 nginx1.14 pcre(pcre2应该也行)工具:filezilla(FTP工具) Scrt(SSH工具)nginx下载:http://nginx.org/en/download....showImg(https://segmentfa...

    entner 评论0 收藏0

发表评论

0条评论

ivyzhang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<