相关疑难解决方法(0)

IPv4 子网划分是如何工作的?

这是一个关于 IPv4 子网的规范问题

有关的:

子网划分是如何工作的,您是如何手动或在头脑中完成的? 有人可以从概念上和几个例子来解释吗?Server Fault 有很多子网划分作业问题,因此我们可以使用答案将它们指向 Server Fault 本身。

  • 如果我有一个网络,我如何弄清楚如何拆分它?
  • 如果给我一个网络掩码,我怎么知道它的网络范围是什么?
  • 有时有一个斜线后跟一个数字,那个数字是什么?
  • 有时有一个子网掩码,也有一个通配符掩码,它们看起来是一样的,但它们是不同的?
  • 有人提到了一些关于了解二进制的事情?

networking tcpip subnet ipv4

461
推荐指数
7
解决办法
17万
查看次数

仅当浏览器支持 SNI 时才重定向到 SSL

我有带有 mod_ssl 的 Apache 2.2 和一堆 HTTPS 站点,位于与 VirtualHosting 相同的 IP/端口上,因此客户端必须支持 SNI 才能连接到这些虚拟主机。

我想通过以下方式配置我的服务器:

当用户输入 www.dummysite.com 并且他的浏览器支持SNI(服务器名称指示)时,任何 HTTP 请求都会被重定向到https://发送 HSTS 标头的位置。但如果浏览器不支持SNI,则请求由 HTTP 提供。

上面的规则,按原样陈述,实际上是那些仍然运行旧浏览器的人的后备规则,因为 Mozilla 和 Chrome 没有这个问题,只是为了避免让这些用户离开网站。

我想在 Apache 配置级别执行此重定向,可能在用户代理上使用过滤器。我不想触摸正在运行的应用程序,除非确保不存在直接的 http:// 引用(否则它们意味着安全警告)

[编辑](在编辑问题时我忘记问题):要重定向的启用 SNI 的用户代理列表是什么?

ssl virtualhost sni apache-2.2

21
推荐指数
2
解决办法
2万
查看次数

如何向 apache 反向代理规则添加例外

我正在尝试设置 Apache 反向代理,以便将请求代理到在 8080 上运行的另一个应用程序。但是,我希望直接提供某些目录而不是转发到代理。我想要的是:

http://localhost/ -> http:// localhost:8080/myapp
http:// localhost/images -> /var/www/html/images
http:// localhost/anything-else -> http:// localhost :8080/myapp/anyhthing-else

我目前的 httpd.conf 是

ProxyRequests Off
ProxyTimeout 600
ProxyPreserveHost On
ProxyPass / http:// localhost:8080/
ProxyPassReverse / http:// localhost:8080/
RewriteEngine On
RewriteRule ^/(.*) http:// localhost:8080/VirtualHostBase/http/%{SERVER_NAME}:80/myapp/VirtualHostRoot/$1 [L,P]
Run Code Online (Sandbox Code Playgroud)

我应该做什么配置才能使本地路径异常工作?

谢谢你,塔尼亚

apache-2.2

18
推荐指数
1
解决办法
2万
查看次数

如何使 RewriteCond %{HTTP_COOKIE} 与 cookie 值完全匹配?

如何使我的规则与 cookie 的确切值匹配?我试过了:

RewriteCond %{HTTP_COOKIE} ^its=me$ [NC]

RewriteCond %{HTTP_COOKIE} its=^me$ [NC]

RewriteCond %{HTTP_COOKIE} its="me" [NC]

RewriteCond %{HTTP_COOKIE} its=me [NC] 
Run Code Online (Sandbox Code Playgroud)

最后一个几乎有效,但是当额外的文本位于值的末尾时匹配,例如“me2”。仅当itscookie 的确切值为 时me,条件才应为真,之前或之后没有更多内容。

这些值应匹配:

  • 我2
  • [空字符串]
  • [根本没有设置cookie]

mod-rewrite rewrite rewritecond apache-2.2

8
推荐指数
2
解决办法
3万
查看次数

如何使用 .htaccess 始终从 HTTP 重定向到 HTTPS?

有一些类似的问题,我试图从中找出答案,但到目前为止我一直没有成功。请告知我如何始终将 http 重定向到 https(并在此过程中从主机名中删除www.)。还有一个附带说明,最好在主 Apache conf 中执行此操作而不是.htaccess- 但我想这不适用于大多数人。

更新:

我已将此代码段添加到一个VirtualHost部分:

RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule ^.*$ https://%1/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

...但它在我访问时没有效果http://www.domain(它应该重定向到https://domain

更新 2:

它没有效果,因为我没有使用RewriteEngine on- 所以它现在可以工作:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule ^.*$ https://%1/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

http .htaccess

7
推荐指数
3
解决办法
9万
查看次数

在 Apache 中从 http 重定向到 https

这是一个关于在 Apache 中从 http 重定向到 https的规范问题

有关的:

我有符合两国的Appache Web服务器http://example.com/https://example.com/。我想将所有 http 请求重定向到 https。目前我正在使用此.htaccess规则将 http 请求重定向到 https。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
Run Code Online (Sandbox Code Playgroud)

它按预期工作,example.com但相同的规则不适用于子链接,当我访问现有链接时,就像example.com/about它仍然会加载到 http 一样,现有链接不会发生重定向。

如何让 Apache 将所有 http 请求重定向到 https?

.htaccess apache-2.2

5
推荐指数
1
解决办法
8390
查看次数

Apache 网络服务器:如何将所有对 domain.com 的请求重定向到 www.domain.com

像这样的东西适用于索引页面:

<VirtualHost *:80>
ServerName example.com
Redirect permanent / http://www.example.com
</VirtualHost>

<VirtualHost *:80>
ServerName http://www.example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

所以像这样的网址:

http://example.com gets forwarded to 
http://www.example.com
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

http://example.com/robots.txt
Run Code Online (Sandbox Code Playgroud)

我还在 .htaccess 中尝试了以下内容,结果相同:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=permanent,L]
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

完整配置:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

<VirtualHost *:80>
ServerName example.com
Redirect permanent / http://www.example.com
</VirtualHost>

<VirtualHost *:80>
ServerName http://www.example.com

ProxyPass / balancer://example/ stickysession=JSESSIONID|jsessionid
ProxyPassReverse / balancer://example/ stickysession=JSESSIONID|jsessionid
ProxyPreserveHost On

<Proxy balancer://example>
BalancerMember http://host1.example.com:8080/ route=tomcat1
BalancerMember http://host2.example.com:8080/ route=tomcat2 …
Run Code Online (Sandbox Code Playgroud)

apache-2.2

4
推荐指数
3
解决办法
3万
查看次数

如何将主机名写入重写规则

我们已经设置了一些子域,我想简化一些 apache 配置 - 特别是因为这些特定的子域是不稳定的。无论如何,我正在尝试获得包含主机的重写规则。

到目前为止,我有:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(.*).net.au$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%1.net.au$1 [R=302,L]
Run Code Online (Sandbox Code Playgroud)

这是基于/sf/ask/254387101/http://httpd.apache.org/docs/2.4/rewrite/vhosts.html

然而,第一个条件中的模式没有写入重写的地址,我最终被发送到 .net.au/wherever(不允许我在前面发布 https) - 我错过了什么吗?

在 Ubuntu 14.04 上运行 apache 2.4

mod-rewrite apache-2.4

4
推荐指数
1
解决办法
1万
查看次数

从 http 重定向到 https

我有一个运行在端口 443 上的 Hudson/Jenkins 安装,因此我可以使用https://ci.mydomain.com. 我没有像 Apache Httpd 那样在端口 80 上运行的网络服务器,但我希望如果用户键入http://ci.mydomain.com 它应该重定向到https://...

我试过iptables

/sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 443
/sbin/iptables-save
chkconfig --level 35 iptables on
Run Code Online (Sandbox Code Playgroud)

但是浏览器告诉我,连接失败。所以我不想安装 Apache 网络服务器,我只想重定向http://ci.mydomain.comhttps://ci.mydomain.com.

http https iptables redirect

3
推荐指数
2
解决办法
2万
查看次数

.htaccess - 将非 www 重定向到 www 并保留子域不被重定向

因此,在我的主域“domain.com”上,我从 cPanel 创建了几个子域,例如“sub1.domain.com”和“sub2.domain.com”。它们在服务器上的真实位置在“domain.com/sub1”和“domain.com/sub2”中。

现在,我想使用 .htaccess 将非 www 重定向到 www,这就是我目前拥有的:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这有效。当有人输入 domain.com 时,它将被重定向到 www.domain.com。但是,当有人输入 sub1.domain.com 时,他将被重定向到 www.domain.com/sub1 - 我不想要它,它需要在 sub1.domain.com 中。

我应该在 .htaccess 文件中添加什么来完成这个?

.htaccess redirect subdomain redirection

3
推荐指数
1
解决办法
1万
查看次数