- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有这个 nginx 配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
include snippets/ssl-params.conf;
client_max_body_size 5G;
location / {
proxy_pass http://127.0.0.1:8888;
}
}
因此 http://www.example.com
被重定向到 https://www.example.com
。问题是,https://example.com
也可以工作并提供代理传递给端口 8888
。我怎样才能阻止它工作?我只需要带有 www 的版本即可工作。参数 server_name 似乎没有任何作用。我使用的是“nginx 版本:nginx/1.10.1”。
最佳答案
除非您为端口 443 显式定义默认服务器,否则 nginx
将使用第一个匹配的 server
block 来处理请求。参见 this document了解详情。
解决方案是显式定义具有所需行为的默认服务器,例如:
server {
listen 443 ssl http2 default_server;
return 301 https://www.example.com$request_uri;
include snippets/ssl-params.conf;
}
事实上,如果删除 server_name
指令,您可能会将其滚动到端口 80 server
block 中:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl http2 default_server;
return 301 https://www.example.com$request_uri;
include snippets/ssl-params.conf;
}
server {
listen 443 ssl http2;
server_name www.example.com;
include snippets/ssl-params.conf;
client_max_body_size 5G;
location / {
proxy_pass http://127.0.0.1:8888;
}
}
关于ssl - 当 ssl 和 http2 打开时,Nginx 似乎忽略了 server_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40107732/
我的配置文件有一个以...开头的server指令 block server { server_name www.example1.com www.example2.com www.exampl
nginx 中的 server_name 不匹配 我想匹配这样的 FQDN 我想出了 server_name "~^(www.)?ucwebapi-uccore(\d{0,3})-(\d{0,3})\
我有一个在 AWS EC2 实例上运行的 nginx 1.4.5 服务器。我有两个 conf 文件:default.conf 和 myapp.conf。 default.conf 监听 localho
除非域不同,否则有没有办法将所有流量代理到某个服务器? 基本上是一个 *为 server_name属性(property)? server { listen 80; server_name f
我有一个正在运行的 nginx 实例,它为多个网站提供服务。第一个是服务器 IP 地址上的状态消息。第二个是 admin.domain.com 上的管理控制台。这些效果很好。现在我希望所有其他域请求都
问题 微信公众号获取code时的跳转链接,默认是获取当前页面的链接,代码如下: php" id="highlighter_219923">
我在 Apache 2.4 中有以下 VirtualHost ServerName www.example.com ServerAlias example.com DocumentRoo
我尝试执行一个 bat,在这个文件中我尝试访问这个变量: $_SERVER['SERVER_NAME'] 但它不存在这个索引。事实上,当我尝试 print_r($_SERVER) 时,没有 SERVE
菜鸟问题在这里 我正在使用 php 构建一个交互式网站,我决定做一个交互式菜单。好吧,我的菜单包含在一个名为 menu.php 的文件中。 Cadastro "; ?
由于我的应用程序有后台任务,因此我使用 Flask 上下文。为了使上下文正常工作,应设置 Flask 设置 SERVER_NAME。 设置 SERVER_NAME 后,将检查传入请求是否与该值匹配,否
我设计了一个 multiste 应用程序。有多站点管理员(即 http://root.com/admin )和所有站点访问权限(即 http://site1.com , http://site2.co
我目前正在开发托管在 Amazon AWS 上的 Flask 应用程序。我正在开发的应用程序有几个组件,我正在开发其中两个组件。我正在寻找为这些组件设置子域,但遇到了一些麻烦。 我想要: www.ex
我试图理解以下语法(请参阅下面的使用上下文): RewriteCond %{SERVER_NAME} ^example\.com$ 我的 .htaccess 文件中有上述内容(使用真实域名代替示例)。
有没有人告诉我为什么我仍然有这样的错误? Restarting nginx: [emerg]: unknown "domain_name" variable configuration file /e
所以我试图检查 Apache 服务器名称是否包含某个字符串,并注意到非常奇怪的行为(例如,即使字符串看起来完全匹配,if 语句中也没有匹配项)。使用 var_dump() 我查看了包含服务器名称的变量
我在 PHP doc pages 上阅读了以下评论: "Be warned that most contents of the Server-Array (even $_SERVER['SERVER_
相关资料: 查看所有的Server Variables ServerVariables集合检索预定的环境变量意义 今天突然想起每次请求 HTTP_HOST 和 SERVER_NAME 的值总是一
在 Laravel 5.1 中,我创建了一个自定义帮助文件:custom.php我加载的 composer.json : "autoload": { "files": [ "a
我的目标是重定向 example.com进入 www.example.com不重定向 任意 子域到 www . 这就是我所拥有的: server { listen 443; server_na
我有这个 .htaccess 文件,但我希望它只在我在实时站点上时才这样做。 有什么办法可以: // if server_name looks like example.com to this //
我是一名优秀的程序员,十分优秀!