我们的 nginx 配置中有一些复杂的问题需要解决。目前我们在文档根目录中安装了一个软件。该软件使用单个入口点(index.php)和查询字符串来显示内容。示例 URL 为:
/index.php?forums/forum-name.1
/index.php?threads/thread-name.1
/index.php?users/user-name.1
Run Code Online (Sandbox Code Playgroud)
ETC...
现在,我们将该软件移动到文档根目录的子目录中/f/,并将一个新软件安装到文档根目录中。该软件还使用index.php(不过没有查询字符串)。因此,我们需要制定一组重写规则,仅重写旧软件中的 URL。同时,我们还将从 URL 中删除 index.php。一组示例映射是:
/index.php?forums/forum-name.1 --> /f/forums/forum-name.1
/index.php?threads/thread-name.1 --> /f/threads/thread-name.1
/index.php?users/user-name.1 --> /f/users/user-name.1
Run Code Online (Sandbox Code Playgroud)
所以基本上,我需要重定向index.php请求的某个子集(仅包含?forums,?threads,?users等...),然后删除index.php部分并发送到/f/目录。
我整个上午都在玩这个,但就是无法让它按照我需要的方式工作。
Ubuntu Server 和 Ubuntu Server Live 有什么区别?我已经很好地浏览了该主题,但似乎没有任何明确的信息。
我似乎无法找到一个简单易懂的差异描述......有什么想法吗?
我一直在寻找一种方法来执行以下操作,如果有人能启发我,将不胜感激。
例如,在单个 CloudFront 实例中是否可以进行以下映射?
feature-a.domain.com => dev-bucket/feature-a
feature-b.domain.com => dev-bucket/feature-b
staging.domain.com => dev-bucket/staging
Run Code Online (Sandbox Code Playgroud)
等等..
用例是我希望能够为每个映射到 S3 上存在的存储桶的 git 分支部署尽可能多的环境。这一切有可能吗?
(我正在尝试将一个开源php 项目部署到 nginx。项目本身并不重要。)
我需要将 date.timezone 设置为我的本地时区,因为该项目使用全局设置。
我在我的 php.ini(debian 的 /etc/php/7.0/fpm/php.ini)文件中发现了一行,但因为我不想更改全局设置,所以我在 fpm/conf 中创建了一个新的 ini 文件.d/ 目录中的行:
date.timezone = ('Europe/Berlin')
Run Code Online (Sandbox Code Playgroud)
这是此处记录的受支持时区之一 但是,当我查看我的 php 信息时,时区反映在“本地值”和“主值”中。
我可以拥有它以便只有这个 php 项目设置时区,而全局保持默认 UTC 吗?
我有一组两个主机。我想将一项任务委派给不是当前主机的人。
以下不匹配任何内容,只返回我最初的两个主机的列表。
- debug: msg="{{ groups['web-servers'] | select('match', '^(?!\{\{\ inventory_hostname\ \}\}$).+') | list }}"
Run Code Online (Sandbox Code Playgroud)
我认为这是逃避问题,但我无法弄清楚。
当我尝试在 Google Cloud 上的 Windows Server 2012 或 2016 上设置 Active Directory(使用具有桌面体验的默认虚拟机映像)时,创建林失败并出现以下错误:
...当您创建新域时,本地管理员帐户将成为域管理员帐户。由于本地管理员帐户密码不符合要求,无法创建新域。
目前,本地管理员密码为空,这可能会导致安全问题...
这是出乎意料的,因为
尝试过的解决方案均无效:
我不知道发生了什么,所以即使是关于从哪里开始的提示也会有所帮助。
更新
尽管控制面板用户设置中只显示一个帐户,但似乎有两个单独的帐户(我的默认帐户和名为“管理员”的帐户)。我按照Google 的指示设置 AD,但是当我运行时它们失败了
net use Administrator *
Run Code Online (Sandbox Code Playgroud)
与错误
System error 67 has occurred.
The network name cannot be found.
Run Code Online (Sandbox Code Playgroud) active-directory windows-server-2012 google-cloud-platform windows-server-2016
我正在运行 Nginx 作为代理服务器,转发到 10.12.96.4。
我希望 NGINX 服务器监听ens3:并通过 `tun0 转发请求
这是我的/etc/nginx/sites-available/default:
server {
listen 149.28.239.231:80;
server_name default_server;
location / {
proxy_pass http://45.77.185.160:80;
# proxy_pass http://10.12.96.4:80;
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_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 443;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location /
{
proxy_pass https://45.77.185.160:443;
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_set_header …Run Code Online (Sandbox Code Playgroud) 我在共享主机 LAMP 环境中管理一个小网站:这基本上意味着我唯一可以编辑的是 htaccess 文件。
我想添加 HSTS 支持(我做到了),但是,当我在这里测试我的网站是否符合 HSTS 预加载资格时,出现以下错误:
错误:HTTP 首先重定向到 www
http://example(HTTP)https://example在添加 www 子域之前应立即重定向到(HTTPS)。现在,第一个重定向是到https://www.example.需要额外的重定向以确保任何支持 HSTS 的浏览器都会记录顶级域的 HSTS 条目,而不仅仅是子域。
所以,我想我应该这样重定向用户:
http://example (这是用户在浏览器地址栏中输入的内容)https://example (我们将他重定向到该网站的 HTTPS 版本)https://www.example (我们再次将他重定向到子域 www)我目前的重定向是这样完成的:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)
我试图在最后一行之前添加一个重定向,这样:
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)
但我从浏览器收到“页面未正确重定向”错误。
那么,将用户从网站的 http 版本重定向到 https 并最终重定向到带有 www 的 https 的正确方法是什么?以及:有任何风险吗?
我正在寻找一种方法来确定哪些 IP 地址在我的大约 100,000 个 IP 地址的网络中充当域控制器。主要目标是扫描所有机器,一旦我确定了充当域控制器的机器,我们就会找出连接到它的用户。我无法对任何 IP 地址运行任何 WMI 查询。我所能做的就是扫描我的整个网络。那么,域控制器拥有的机器/IP 地址和普通工作站或成员工作站没有的机器/IP 地址是否有任何区别因素?谢谢
我们有一个 IIS ARR 服务器,它可以将负载平衡到两个不同的独立 IIS 服务器。
有问题的服务器是我们的内部临时服务器。三个月前,我创建了一个免费的 Let's Encrypt SSL Cert 以在这些服务器上使用。与 Let's Encrypt 的情况一样,它在 3 个月后过期。所以今天我开始创建一个新证书,并替换了 ARR 服务器和负载平衡服务器上的旧证书。
这样做之后,然后在任何浏览器(包括隐身模式)中返回该站点,它仍然显示旧的无效证书。我什至使用以前从未访问过该站点的笔记本电脑访问该站点,只是为了查看旧证书是否已缓存在我的浏览器中。甚至那些笔记本电脑也加载了不安全警告的网站。
这些是我采取的步骤:
在 ARR 服务器上:
在两个负载平衡的服务器上:
然而,尽管旧证书的所有痕迹都被删除,包括删除实际文件,无论我做什么,它都会在每台计算机上的每个浏览器(即 chrome、ff)中加载,仍然显示旧证书。
我不知道还能做什么。
如果这有帮助:
(我应该补充......在许多不同的论坛上有很多完全相同的问题。我已经阅读了几十个。没有一个需要引导我找到解决方案。)