首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Nginx网站重定向

Nginx网站重定向

作者头像
Tacc
发布于 2022-01-11 06:58:11
发布于 2022-01-11 06:58:11
6.7K00
代码可运行
举报
文章被收录于专栏:TaccTacc
运行总次数:0
代码可运行

1、Nginx配置多网站端口复用

(1)配置Nginx端口复用给多个网站,都可以使用80端口去进行访问。

首先需要更改/usr/local/nginx/conf/nginx.conf的配置文件,如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#user  nobody;

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }    
     include /usr/local/nginx/WebServer/*.conf; #其他代码都是默认的,注意这一行,“ *.conf ”代表
                                                #这个目录下的所有.conf结尾的都是网站的配置文件
}

(2)以/usr/local/nginx/WebServer/vhostH.conf配置文件为例,具体如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
     listen       80;              #监听端口
     server_name  www.liaqi.com;   #网站域名
     server_name  liaqi.com;             ##网站域名
     rewrite ^(.*) https://$server_name$1 permanent;  #进行URL重写,将http访问重写至https
}
server {
    listen 443 ssl;
    server_name www.liaqi.com;
    index index.html;
    root /usr/local/nginx/WebServer/vhostH;                     #网站目录文件
    ssl_certificate      /usr/local/nginx/sslkey/vhostH/full_chain.pem;   #证书存放路径
    ssl_certificate_key  /usr/local/nginx/sslkey/vhostH/private.key;            #证书存放路径
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    server_tokens off;
    fastcgi_param   HTTPS  on;
    fastcgi_param   HTTP_SCHEME  https;
    access_log /usr/local/nginx/logs/httpsaccess.log;
}

按照(2)中的配置文件进行更改即可,即可部署多个网站的80端口复用。

2、网站80和443网站重定向

比如你有两个网站,一个是www.liaqi.com另外一个是www.liaqi.cn,www.liaqi.com备案了,但是www.liaqi.cn没有进行备案,那么可以通过Nginx重定向的方法,把网站的访问给重定向到www.liaqi.com上面去。

备案域名的Nginx配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
     listen       80;
     server_name  www.liaqi.com;
     server_name  liaqi.com;
     rewrite ^(.*) https://$server_name$1 permanent;   #进行URL重写,将http访问重写至https
}
server {
  listen 443 ssl;
  server_name www.liaqi.com;
  server_name liaqi.com;
  index index.html;
  root /usr/local/nginx/WebServer/vhostA;    #网站目录文件
  ssl_certificate      /usr/local/nginx/sslkey/vhostA/full_chain.pem;
  ssl_certificate_key  /usr/local/nginx/sslkey/vhostA/private.key;
  ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;
  server_tokens off;
  fastcgi_param   HTTPS  on;
  fastcgi_param   HTTP_SCHEME https;
  access_log /usr/local/nginx/logs/httpsaccess.log;
}

未备案域名的Nginx配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
     listen       80;
     listen       443 ssl;
     server_name  www.liaqi.cn;    
     server_name  liaqi.cn;
     ssl_certificate      /usr/local/nginx/sslkey/vhostB/full_chain.pem;
     ssl_certificate_key  /usr/local/nginx/sslkey/vhostB/private.key;

     rewrite ^(.*) https://www.liaqi.com permanent;   #重写域名至具体网站
     rewrite ^(.*) https://liaqi.com permanent;       #重写域名至具体网站
}

3、配置80端口重定向到其他端口

一个网站,我想使用80端口进行访问,但是没有备案,那么该使用Nginx如何配置?(注:本段仅代表个人观点,请按照相关网站要求进行备案)

具体配置方法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
     
  listen  80;    #监听80443端口访问
  listen  443;   #监听80443端口访问
  server_name www.liaqi.com;
  server_name liaqi.com;
  rewrite ^(.*)  https://www.liaqi.com:8887 permanent;   #重写至服务器的8887端口
  rewrite ^(.*)  https://liaqi.com:8887 permanent;      #重写至服务器的8887端口
}

server {
  listen  8887 ssl;         #对需要重写的8887端口进行开启https访问
  server_name 192.168.0.112.92:8887;  #开启使用的8887端口
  index index.html;
  #server_tokens off;
  default_type  application/octet-stream;  
  ssl_certificate /usr/local/nginx/sslkey/vhostA/full_chain.pem;
  ssl_certificate_key /usr/local/nginx/sslkey/vhostA/private.key;
  ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;
  server_tokens off;
  fastcgi_param   HTTPS   on;
  fastcgi_param   HTTP_SCHEME  https;
  access_log /usr/local/nginx/logs/httpsaccess.log;
  location / {
    proxy_pass https://192.168.0.21:8887;  #可以是服务自己的IP地址和端口,也可以是其他服务的IP地址和端口
    index      index.htm index.html;
  }
}
#配置的大概意思就是:源站点是https://192.168.0.21:8887,但是是带有端口的,但是无法通过80端口访问,
#所以我用这个https://192.168.0.112.92:8887来进行代理源站点。并且www.liaqi.com的域名已经解析至这
#台服务器上了,所以在浏览器直接输入域名即可正常的访问到目标站点。另外,此方法不保证长久有效,有些服务
#提供商发现有人使用此种方法会进行封停相关端口,慎用慎用。

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:​​https://cloud.tencent.com/developer/support-plan?invite_code=3m3shdxom4o4k​

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3m3shdxom4o4k
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/01/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux下Nginx配置SSL以及301重定向
Nginx配置文件,位置/etc/nginx/sites-enabled下的default文件
no怕不了木
2023/10/26
1.3K0
Nginx配置SSL实现https请求并重定向http请求的实现
因为我的网站是部署在腾讯云上的,腾讯云同时也提供了免费的SSL证书(有效期1年)。
Bug生活2048
2018/08/31
4.4K0
Nginx配置SSL实现https请求并重定向http请求的实现
手把手教你 3 分钟搞定个人网站 http 免费升级到 https
阿里云有免费的 ssl 证书,一年时间没操作 ssl 证书了,阿里云竟然把免费证书入口给隐藏了,害我提交了一次工单。
业余草
2020/08/25
2.1K0
手把手教你 3 分钟搞定个人网站 http 免费升级到 https
Nginx配置正向代理和反向代理,实现HTTPS通信的案例
客户端直接通过HTTP访问内部服务是不安全的,如果在不改造客户端和内部服务的情况下实现HTTPS的安全信息传输?这里使用了nginx的正向代理和反向代理,如上图所示。
飞狗
2019/02/25
5.3K0
Nginx配置正向代理和反向代理,实现HTTPS通信的案例
Nginx同一个IP上多个域名配置安装SSL证书
在同一台服务器上配置多个带有SSL证书的HTTPS网站时,每个网站确实需要使用不同的端口号,以避免冲突。这是因为SSL/TLS协议通常是在特定的端口上运行的,默认情况下是443端口。
Tinywan
2024/03/20
3.5K0
Nginx同一个IP上多个域名配置安装SSL证书
Nginx系列(3) —— Nginx 的常用命令与配置文件
PS: 默认情况下,window和linux 系统之间是无法相互进行访问的。因为window在访问linux时无法越过linux 的防火墙。
求和小熊猫
2020/11/25
6980
Nginx系列(3) —— Nginx 的常用命令与配置文件
Nginx/Tengine通用配置教程
Nginx/Tengine通用配置教程,包含多域名共用一个端口指向不同程序、Nginx负载均衡配置、Https配置、禁止通过IP访问、设置访问流量并发速率、Nginx反代PHP、Nginx反代Tomcat。 Nginx通用配置: user www www; worker_processes auto; worker_cpu_affinity auto; dso { load ngx_http_concat_module.so; load ngx_http_sysguard_module.so; }
4xx.me
2022/06/09
1K0
Nginx/Tengine通用配置教程
Nginx rewrite地址重写
Rewrite在nginx中也叫URL Rewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程。
用户4396583
2024/07/23
5640
NGINX服务器下配置SSL证书
  配置nginx服务器的ssl证书要去nginx目录下中conf文件夹下的nginx.conf中寻找server,找到监听443端口的server,把#打开(即关闭掉注释),修改以下配置(仅供参考)
十月梦想
2018/08/29
5.7K1
nginx搭建web服务器,配置端口复用
5、将配置文件保存在/etc/init.d/nginx位置即可。之后即可通过下面的命令进行启动服务。
Tacc
2022/01/11
2.2K0
nginx搭建web服务器,配置端口复用
Linux+Nginx/Apache/Tomcat新增SSL证书,开启https访问教程
上上篇文章《nginx 平滑升级&新增模块》提到了公司的 https 访问需求。当我新增了 SSL 模块之后,却发现以前还真没部署过 https 访问。 下面整理我的部署过程,并收集了一下 Apach
张戈
2018/03/23
3.6K0
Linux+Nginx/Apache/Tomcat新增SSL证书,开启https访问教程
服务器安防配置–笔记三–nginx构建https协议的wp站点
折腾成功,留下记录.目录是:https是什么,nginx配置,sql全局替换,后台开启https链接,修复图片打不开,增加http禁止.
十四君
2019/11/29
6940
服务器安防配置–笔记三–nginx构建https协议的wp站点
Nginx反向代理+负载均衡简单实现(https方式)
背景: A服务器(192.168.1.8)作为nginx代理服务器 B服务器(192.168.1.150)作为后端真实服务器 现在需要访问https://testwww.huanqiu.com请求时从A服务器上反向代理到B服务器上 这就涉及到nginx反向代理https请求的配置了~~~ ------------------------------------------------------------------------------------ A服务器(192.168.1.8)上的操作流程: 1
洗尽了浮华
2018/01/22
3K0
在CentOS上安装Nginx配置HTTPS并设置系统服务和开机启动(最全教程)
GCC 是 Linux 下最主要的编译工具,GCC 不仅功能非常强大,结构也非常灵活。它可以通过不同的前端模块来支持各种语言,如 Java、Fortran、Pascal、Modula-3 和 Ada。
摘繁华
2021/12/27
2.8K0
在CentOS上安装Nginx配置HTTPS并设置系统服务和开机启动(最全教程)
Centos7安装Nginx教程,一步安装http和https
nginx是一款轻量级web服务器,主要有负载均衡和反向代理的特性。 安装准备 nginx一些模块需要依赖lib库,所以先安装lib库,执行以下命令: [root@localhost local]# yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 下载 在官网下载安装包 安装 解压文件: tar -zxvf nginx-1.20.2.tar.gz 解压之后进入到nginx目录: cd ng
用户10384376
2023/02/26
8990
Centos7安装Nginx教程,一步安装http和https
Nginx配置HTTPS详细说明
TLS或传输层安全( transport layer security),它的前身是SSL(安全套接字层secure sockets layer),是Web协议用来包裹在一个受保护,加密封装正常通道。采用这种技术,服务器和客户端之间可以安全地进行交互,而不用担心消息将被拦截和读取。证书系统帮助用户在核实它们与连接站点的身份。
星哥玩云
2022/07/14
8370
Nginx-基础总结(上)
1.proxy_set_header :在将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息。 2.proxy_connect_timeout:配置Nginx与后端代理服务器尝试建立连接的超时时间。 3.proxy_read_timeout : 配置Nginx向后端服务器组发出read请求后,等待相应的超时时间。 4.proxy_send_timeout:配置Nginx向后端服务器组发出write请求后,等待相应的超时时间。 5.proxy_redirect :用于修改后端服务器返回的响应头中的Location和Refresh。
云计算小黑
2022/12/28
4950
Nginx的https配置记录以及http强制跳转到https的方法梳理
一、Nginx安装(略) 安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。 Nginx安装方法: # ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module # make && make install 二、生成证书(略) 可以使用openssl生成证书
洗尽了浮华
2018/01/23
6.1K0
网站启用SSL自动301跳转到HTTPS教程
服务器搭建之后就一直在使用宝塔,先抛出安全性能之外,宝塔真的是不错啦,我之前用过许多的控制面板(没办法,技术能力有限,只能用带控制面板的)最好发现还是宝塔比较符合大众的操作习惯,当然收费的amh我也用过,效果不如宝塔,宝塔有很多功能已经集成了,不需要额外的配置文件,比如今天说的启用SSL后,让网站的http自动跳转到https上。如果你的主机不是宝塔,那么参照以下教程试试,也许会有惊喜(记得备份,否则惊喜可能变成惊吓),先说Apache强制301跳转到https教程:
李洋博客
2021/06/15
1.6K0
【腾讯云的1001种玩法】Nginx网站服务器学习与入门
魏豪
2017/04/24
5.6K2
【腾讯云的1001种玩法】Nginx网站服务器学习与入门
推荐阅读
相关推荐
Linux下Nginx配置SSL以及301重定向
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档