nginx 并重定向到清漆
nginx and redirect to varnish
我的 nginx 配置如下:
server {
listen *:443 ssl;
server_name ~^(.*\.)?domain.com$;
秒
server {
listen *:443 ssl;
server_name ~^(.*\.)?test.domain.com$;
问题是 domain.com 工作正常但测试。domain.com 不行。将其重定向到 domain.com
如果我只是这样做:
server_name www.domain.com$ domain.com$;
和
server_name 测试。domain.com$;
然后我总是遇到 SSL 问题
有什么解决办法吗?
只是猜测。将第一个服务器块与第二个服务器块交换。所以 test
没有被你的第一个服务器块吃掉。或者确保您的第一个服务器块不会像这样吃掉 test
:server_name ~^(.*?[^t]?[^e]?[^s]?[^t]\.)?domain.com$;
。或者像这样更好:server_name ~^(.*(?<!test)\.)?domain.com$;
(负面回顾 - 由 Nginx 支持???)
完全未经测试 - 但也许你明白了。
确保您 - 在您的正则表达式中 - 使用反斜杠 \.
或方括号 [.]
转义所有点 .
以使它们真正成为点字符。否则你也服务于 test-domain-com,例如你不想要的。
如果您不将其标记为正则表达式 ~
,我不确定是否可以在 server_name
中使用正则表达式美元 $
。
我的 nginx 配置如下:
server {
listen *:443 ssl;
server_name ~^(.*\.)?domain.com$;
秒
server {
listen *:443 ssl;
server_name ~^(.*\.)?test.domain.com$;
问题是 domain.com 工作正常但测试。domain.com 不行。将其重定向到 domain.com
如果我只是这样做:
server_name www.domain.com$ domain.com$;
和
server_name 测试。domain.com$;
然后我总是遇到 SSL 问题
有什么解决办法吗?
只是猜测。将第一个服务器块与第二个服务器块交换。所以 test
没有被你的第一个服务器块吃掉。或者确保您的第一个服务器块不会像这样吃掉 test
:server_name ~^(.*?[^t]?[^e]?[^s]?[^t]\.)?domain.com$;
。或者像这样更好:server_name ~^(.*(?<!test)\.)?domain.com$;
(负面回顾 - 由 Nginx 支持???)
完全未经测试 - 但也许你明白了。
确保您 - 在您的正则表达式中 - 使用反斜杠 \.
或方括号 [.]
转义所有点 .
以使它们真正成为点字符。否则你也服务于 test-domain-com,例如你不想要的。
如果您不将其标记为正则表达式 ~
,我不确定是否可以在 server_name
中使用正则表达式美元 $
。