有些人创建了一个 CloudFront CDN 来代理我的网站,这样人们就可以使用 url 来访问我的网站,df03039lsls933.cloudfront.net而不是www.example.com
如何使用 nginx 阻止它?
从 CloudFront 文档,它说..
Host: CloudFront sets the value to the domain name of the origin that is
associated with the requested object.
Run Code Online (Sandbox Code Playgroud)
所以我不能通过使用host标题来阻止,另一种方法是什么?
(CloudFront 只是一个例子,我想用类似的方法阻止所有 CDN)
我的 nginx 配置如下所示:
server {
listen 80;
server_name domain1.com domain2.com;
access_log /var/log/myapp/nginx/access.log;
...
}
Run Code Online (Sandbox Code Playgroud)
目前从两个域的请求被记录到同一个文件,我想这样区分这些从请求domain1.com继续保存access.log,而来自请求domain2.com被保存在domain2.access.log。
我怎样才能做到这一点?
我的网站使用来自 CloudFlare 的 Universal SSL,我希望浏览器自动重定向到 HTTPS。但是,由于并非所有浏览器都支持 cloudflare 使用的 SSL 类型,因此我不想直接强制使用 SSL。所以HSTS似乎是一个不错的选择。但是,当我在浏览器中对其进行测试时,它似乎并没有像我预期的那样工作。
在我的站点配置文件中,我有这一行:
server {
...
listen 443 ssl;
add_header Strict-Transport-Security max-age=63072000;
...
}
Run Code Online (Sandbox Code Playgroud)
它显示在响应标头中:
Strict-Transport-Security: max-age=63072000
Run Code Online (Sandbox Code Playgroud)
但是,Windows 10 和 OS X 10.10.3 上的 Firefox 35 和 Chrome 41 仍将通过 HTTP 导航该站点,而不会重定向到 HTTPS。
我正在使用在 CentOS 7 上运行的 NGINX 版本 1.7.3。
我正在使用 NGINX,我只是设置了一个域和子域,我需要在这两个域上都使用 SSL。
查看子域的服务器块
server {
listen 80;
listen 443 ssl;
server_name www.desktop.just4bettors.mobi desktop.just4bettors.mobi;
root /home/c0pt/capilleira/capilleiraclickandgambleweb/dist;
ssl_certificate /etc/ssl/certs/just4bettors.mobi.chained.crt;
ssl_certificate_key /etc/ssl/private/just4bettors.mobi.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果我进入该子域,一切正常,但是,我应该如何知道 SSL 是否已设置?
这是一部分nginx.conf:
server {
listen 80 default deferred; # for Linux
server_name *.server.com.br;
client_max_body_size 4G;
# omitted
}
Run Code Online (Sandbox Code Playgroud)
我想接受而不重定向:
www.server.com.br
server.com.br
google.server.com.br
facebook.server.com.br
Run Code Online (Sandbox Code Playgroud)
如何配置服务器块?
我使用 NGinx 为静态站点提供服务,有时有些文件的权限为 640 而不是 644。对于此类站点,NGinx 会显示“403 Forbidden”。
有什么方法可以告诉 NGinx 忽略文件权限并提供目录中的任何文件public吗?
聚苯乙烯
是的,我可以使用 更改文件权限chmod,但它经常发生,我已经厌倦了。
另外,我知道可能存在安全漏洞,但在这种情况下,我不在乎,文件public夹中的任何文件都应该可供所有人使用。
我有uploads目录,我想计算该目录中文件的总下载量,简而言之,是否可以监控每个目录消耗的带宽?
我有一台 Ubuntu 机器,其中三个服务都在不同的端口上运行。
8090019292。有三个 DNS 名称指向这台 Ubuntu 服务器gitlab.domain.com,etherpad.domain.com、 和geminabox.domain.com。
GitLab 服务与 Nginx 配合良好,此处无需更改。但是,我不确定如何配置 Nginx 以允许请求etherpad.domain.com传递到etherpad.domain.com:9091,以及请求geminabox.domain.com传递到geminabox.domain.com:9292。
这可能吗?
我的生产 VPS 上有带有 Debian 操作系统的 nginx php 服务器,问题是 nginx 占用了我所有的带宽。
当我尝试使用 ftp 上传内容时,大多数情况下连接会超时。
今天我杀死了 nginx 进程并尝试使用 ftp 上传一些东西,它以稳定的速度和更快的连接工作。
所以问题是系统没有为 ftp 服务器分配足够的带宽来工作,除非我终止 nginx
知道如何修复/诊断问题吗?
我正在尝试从 Nginx 响应中删除 Last_Modified 标头。
我读过这可以通过配置中的这一行来实现:
add_header Last-Modified '';
Run Code Online (Sandbox Code Playgroud)
这有效,但是由于某种原因,我们的 CORS 访问控制标头不再发送。我假设这可能是一个错误(我们使用的是 v1.2.6),但希望得到其他人的意见。
为什么会这样?以及如何删除 Last-Modified,但保留 Access-Control 标头?
我们的配置文件如下所示:
http {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
server {
listen 80;
server_name xxxxxxxxxxxxxxxxx;
root xxxxxxxxxxxxxxxxx
expires 1y;
log_not_found off;
add_header Last-Modified '';
}
}
Run Code Online (Sandbox Code Playgroud)