VPS侦探论坛

 找回密码
 注册
查看: 1977|回复: 15

求指点

[复制链接]
发表于 2023-7-7 23:50:50 | 显示全部楼层 |阅读模式

lnmp(准备部署)
服务器有很多ip


有很多个站
每个站单独ip
有的站是http
有的是非强制性httos
有的是强制https

lnmp可以做到防窜站吗?
就是用户访问aaa.com/123.html不会跑到bbb/456.html

目前还没部署,求教防止窜站的流程





美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2023-7-7 23:55:57 | 显示全部楼层


本帖最后由 清风笑 于 2023-7-8 00:00 编辑

目前用的是某塔,通过站点日志看到几十个手机用户就是访问
http://www.aaa.com/123.html 跳到 https//www.bbb.com/456.html
且找不到解决方案


我在这论坛里搜过且看过几篇文章,就是不大确定和疑问
多ip不需要考虑了,只要解析到正确ip上
运行环境配置好之后,不要急着部署站点,而是先部署空头站点是吗?
还看到军哥一篇文章回复说建议所有站点都配置https且强制301到https
可是我项目并不都是https 也不合适上https ,那怎么办啊?

Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2023-7-8 00:16:57 | 显示全部楼层

本来想用pve,每个站点独立安装lnmp,感觉太浪费性能了
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2023-7-8 00:38:14 | 显示全部楼层



清风笑 发表于 2023-7-7 23:55
目前用的是某塔,通过站点日志看到几十个手机用户就是访问
http://www.aaa.com/123.html 跳到 https//www.b ...

别的帖子看到的,我也是多ip,这个靠谱吗?
server name每个都要不一样嘛?要不要设置https?

经过多种方法测试,我发现在多IP和单IP环境下的配置是不一样的,如下:

(1)多IP情况下需分别再添加两个不同IP地址的server:
server
    {
        listen 198.46.197.201:80 default_server;
        server_name "";
    return 444;   
    }   
server
    {
        listen 192.227.162.35:80 default_server;
        server_name "";
    return 444;   
    }   

(2)单IP情况下仅需修改为以下即可:
listen 80 default_server;
server_name _;
return 444;

NOTE:需特别说明的是,多IP下使用listen *:80 default_server;是无效的,一开始我用的可以,但不知道怎么的后来又失效了,得单独添加才行。
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2023-7-9 08:24:50 | 显示全部楼层

多IP和单IP是一样的,你只需要将要指定的IP解析到你指定的域名就行了

没遇到过 “就是用户访问aaa.com/123.html不会跑到bbb/456.html”,出发你单独设置了rewrite之类给规则

没有开https的站点可以去论坛搜索:空主机头  我有发过专门的帖子,如果你没法控制别人在没有开https的站点前面加https就开空主机头

我应该没有说过建议都要强制301到https

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2023-7-9 14:42:23 | 显示全部楼层

licess 发表于 2023-7-9 08:24
多IP和单IP是一样的,你只需要将要指定的IP解析到你指定的域名就行了

没遇到过 “就是用户访问aaa.com/123 ...

谢谢军哥解惑,我没设置rewrite之类规则,就是默认的wordpress伪静态规则,这个先不管了
军哥,空主机头我找到了这篇帖子
https://bbs.vpser.net/forum.php? ... B%E6%9C%BA%E5%A4%B4
总结就是在nginx.conf中加
  1.     server {
  2.     listen 443 ssl default_server;
  3.     server_name _;
  4.     ssl_reject_handshake on;
  5.     }
复制代码


多ip有没有必要多个server?就像
    server {
    listen 192.168.1.1:80 default_server;
    listen 192.168.1.1:443 ssl default_server;
    server_name _;
    ssl_reject_handshake on;
    }

    server {
    listen 192.168.1.2:80 default_server;
    listen 192.168.1.2:443 ssl default_server;
    server_name _;
    ssl_reject_handshake on;
    }

...

还有个疑问,关于http跳转https 例如:http://xxx.com跳到https://www.xxx.com
如何避免http://xxx.com 先跳到https://xxx.com 再跳到https://www.xxx.com (包括url参数)
发表于 2023-7-10 15:31:51 | 显示全部楼层

清风笑 发表于 2023-7-9 14:42
谢谢军哥解惑,我没设置rewrite之类规则,就是默认的wordpress伪静态规则,这个先不管了
军哥,空主机头我找 ...

不需要添加ip的listen

这个具体要看你301的代码怎么写的
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2023-7-10 16:07:19 | 显示全部楼层

if ($host ~ '^xxx.com'){
            return 301 https://www.xxx.com$request_uri;
}
顶级域名转www就是这样子的

然后还有个http跳到https的
if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2023-7-10 16:18:34 | 显示全部楼层


看了lnmp的配置301教程 , url是:https://lnmp.org/search/301/
是不是就需要加这两个就可以了?
server {
listen 80;
server_name lnmp.org;
return 301 https://www.lnmp.org$request_uri;
}
if ($host = 'lnmp.org') {
  return 301 https://www.lnmp.org$request_uri;
}
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2023-7-10 16:23:09 | 显示全部楼层



看的有点懵了
 楼主| 发表于 2023-7-10 17:06:36 | 显示全部楼层

我去掉了
if ($host ~ '^xxx.com'){
            return 301 https://www.xxx.com$request_uri;
}
结果还是先跳https://xxx.com再跳https://www.xxx.com
发表于 2023-7-11 12:40:17 | 显示全部楼层

清风笑 发表于 2023-7-10 16:18
看了lnmp的配置301教程 , url是:https://lnmp.org/search/301/
是不是就需要加这两个就可以了?
server {

如果全部跳到 https://www.xxx.com 上只需要加第一个,第二个if不用加
修改配置都需要重启nginx
浏览器测试301需要清空所有缓存
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2023-7-11 14:01:12 | 显示全部楼层
licess 发表于 2023-7-11 12:40
如果全部跳到 https://www.xxx.com 上只需要加第一个,第二个if不用加
修改配置都需要重启nginx
浏览器测 ...

谢谢军哥!谢谢
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2023-8-10 03:18:41 | 显示全部楼层
出现了奇怪的事儿

xxx.com, 放在解析商那里做 显示301跳转到 https://www.xxx.com


结果是http://xxx.com可以正常跳到https://www.xxx.com
但是https://xxx.com却请求超时了

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2023-8-14 05:02:53 | 显示全部楼层
xxx.com是顶级域名,下面的规则意思是,判断是不是xxx.com是的话301到https://www.xxx.com$request_ur,别的就是自动跳转到https,比如http://abc.xxx.com/*(包括不带参数的url) 跳转到 https://abc.xxx.com/*
if ($host = 'xxx.com') {
        return 301 https://www.xxx.com$request_uri;
        }
location / {
       return 301 https://$host$request_uri;            
        }
请教军哥,如何把xxx.com改为通用的,我好放在伪静态的conf里,省的每个站点的conf都配置一次
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-5-24 16:15 , Processed in 0.030716 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表