相关疑难解决方法(0)

在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https?

我想将我的 Web 服务器上的所有 http 请求重写为 https 请求,我从以下内容开始:

服务器 {
    听80;

    地点 / {
      重写 ^(.*) https://mysite.com$1 永久;
    }
...


一个问题是这会剥离任何子域信息(例如,node1.mysite.com/folder),我如何重写上述内容以将所有内容重新路由到 https 并维护子域?

nginx https redirect

542
推荐指数
7
解决办法
53万
查看次数

如何将 HTTP 重定向到 HTTPS(GCP 负载平衡)?

我正在使用 GCP 负载平衡并希望将 HTTP 重定向到 HTTPS 链接。但是想不通。

我的负载平衡看起来像:

Load balancer name
Front End:
  Protocols     IP             Certificate
  HTTP          x.x.x.x:80     -
  HTTPS         x.x.x.x:443    example-com

Back End: 
  Hosts          Paths        Backend
  example.com    /*           webs-backend
Run Code Online (Sandbox Code Playgroud)

我的 webs 后端是一个简单的 nginx web 服务器,它侦听 TCP/80 端口。Nginx 服务器配置:

server {
  server_name example.com;
  root /var/www/html;

  <snip>
}
Run Code Online (Sandbox Code Playgroud)

现在有了这个 GCP 负载平衡设置,我可以访问 HTTP 和 HTTPS,尝试配置 Nginx 以将客户端 301 重定向发送到 HTTPS,但它不起作用。重定向过多。

问题是,如何配置 GCP 负载平衡以正确将 HTTP 重定向到 HTTPS?

load-balancing google-cloud-platform

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

如何将 http 请求重定向到 https (nginx)

似乎有很多问题和指南指导如何设置 nginx 以将 http 请求重定向到 https。许多已经过时,或者只是完全错误。

# MANAGED BY PUPPET

upstream gitlab {
  server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
}

# setup server with or without https depending on gitlab::gitlab_ssl variable
server {
  listen *:80;
  server_name gitlab.localdomain;
  server_tokens off;
  root /nowhere;
  rewrite ^ https://$server_name$request_uri permanent;
}
server {
  listen *:443 ssl default_server;
  server_name gitlab.localdomain;
  server_tokens off;
  root /home/git/gitlab/public;

  ssl                           on;
  ssl_certificate               /etc/ssl/certs/ssl-cert-snakeoil.pem;
  ssl_certificate_key           /etc/ssl/private/ssl-cert-snakeoil.key;
  ssl_protocols                 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers                   AES:HIGH:!ADH:!MDF;
  ssl_prefer_server_ciphers     on;

  # individual nginx logs for this gitlab vhost
  access_log  /var/log/nginx/gitlab_access.log;
  error_log …
Run Code Online (Sandbox Code Playgroud)

ssl nginx https gitlab

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

Nginx 默认 SSL 主机:完全禁用还是...?

我的服务器上有许多 SSL 主机通过 Nginx SNI 提供服务。

但是,当我输入该服务器的 IP 地址时,我会看到第一个配置的虚拟主机带有证书警告。

是否可以完全停用默认 SSL 主机?

关于你们如何做的任何其他想法?

ssl nginx sni

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

如何使用 iptables 将 HTTP 流量重定向到绝对链接路径?

当主机尝试通过 HTTP 浏览时,我尝试将其重定向到我的网络上的特定链接。

我尝试重定向的主机的 IP 地址是192.168.2.19,我的网络服务器位于192.168.2.15:6969/test.js。当我重定向用户时,我只能让他访问192.168.2.15:6969,而不能访问相对路径。我尝试在iptables命令中指定但它不起作用。

这就是我所做的:

echo 1 > /proc/sys/net/ipv4/ip_forward 
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
iptables -t nat -A POSTROUTING -j MASQUERADE 
iptables -t nat -A PREROUTING -s 192.168.2.19 -p tcp --dport 80 -j DNAT 
--to-destination 192.168.2.15:3000/test.js
Run Code Online (Sandbox Code Playgroud)

iptables

-1
推荐指数
1
解决办法
131
查看次数