nginx 反向代理的基本配置(以Ubuntu 16.04LTS为例)

来源:互联网 发布:linux route add 网关 编辑:程序博客网 时间:2024/06/08 11:18

nginx 反向代理的基本配置以及ssl证书的配置实现https 访问


  • nginx 反向代理的基本配置以及ssl证书的配置实现https 访问
    • 安装nginx
    • 修改apache 端口号防止出错
    • 在nginx 目录下增加服务器配置
      • 写入hostconf 配置文件
      • 重启nginx
    • 效果图
    • 如何配置SSL 到nginx 并且反向代理呢
      • 全站加密


1.安装nginx

pkill -9 apache2 # 关闭apachesudo apt install nginx # 安装nginx,使用Ubuntu的包管理工具apt-get

2.修改apache 端口号,防止出错

sudo vim /etc/apache2/ports.conf # 讲端口修改81,防止和nginx 重复,导致重启失败sudo service apache2 start # 启动apache 服务器,代理目标服务器

3.在nginx 目录下增加服务器配置

cd /etc/nginx/conf.d/ # 进入配置文件目录vim host.conf  # 创建自定义配置文件

在conf.d目录下新安装的nginx不存在任何文件,新建host.conf文件。在nginx目录下的nginx.conf中导入了conf.d下所有的文件.如下图:

clipboard.png

所以直接在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 上,从而实现全站加密。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 台式电脑玩lol卡怎么办 配置充足玩lol卡怎么办 电脑买贵了应该怎么办 微信红包收不了钱怎么办 mac版excel卡死怎么办 锐捷网卡为空怎么办 淘宝上买东西卖家不发货怎么办 快递员没给单号怎么办 淘宝物流把货弄丢了怎么办 刚买的卡没激活怎么办 腾讯王卡40g用完怎么办 手机欠费不知道电话号码怎么办 手机欠费了不用了怎么办 闲鱼恶意差评怎么办 淘宝买家账户体检中心违规怎么办 淘宝卖家账户体检中心违规怎么办 淘宝好评被删除评价怎么办 淘宝没收到货确认收货了怎么办 美团评论被删怎么办 拼多多恶意差评怎么办 淘宝评论被删了怎么办 淘宝买东西错怪店家了怎么办 淘宝骗删除差评怎么办 淘宝买家号虚假交易违规怎么办 淘宝商家一直不发货怎么办 淘宝商家不发货也不退款怎么办 淘宝买家恶意差评怎么办 淘宝评价完了忘截图了怎么办 12306app登录不上怎么办 淘宝换绑支付宝失败怎么办 淘宝和手机不兼容怎么办 换号之后微信怎么办 手机不兼容的应用程序怎么办 微信版本低登录不了怎么办 软件与系统不兼容怎么办 软件与手机系统不兼容怎么办 qq和手机不兼容怎么办 来个软件不兼容怎么办 安卓8.0不兼容app怎么办 两条内存不兼容怎么办 王者荣耀软件不兼容怎么办