wordpress - Nginx 301 在本地访问代理域时
问题描述
我有一个 Nginx 作为域的反向代理运行,我们称它为“testdomain.com”,代理本身正在工作,我几乎可以从我想要的任何地方访问这个网站,除了本地。
为了更好地澄清它,这是我的架构:
我有一个 ESXi 服务器,它有一个 pfsense VM,pfsense VM 端口将所有发往端口 80 的请求转发到另一个 VM 的端口 80。该虚拟机有一个运行 nginx 的 docker 容器,因此它发送到容器的 80 端口,然后将 HTTP 请求代理传递到托管应用程序(WordPress)的另一个外部服务器。正如我之前所说,它工作正常,但是,如果在本地(即我的第一个我的第一个 VM 或 nginx 容器)执行 curl 到我的地址,它会返回以下内容:
curl testdomain.com
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
似乎 Nginx 找不到虚拟主机,这是我的网站 .conf 的外观:
server {
listen 80;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
server_name testdomain.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
add_header Cache-Control public;
add_header Pragma public;
add_header Vary Accept-Encoding;
expires 60M;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://myexternalserver.com:80;
}
}
server {
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
listen 443 ssl http2;
server_name testdomain.com;
access_log /var/log/nginx/access.log;
ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt;
ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;
#
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;
#
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
#
add_header Strict-Transport-Security "max-age=31536000" always;
#
ssl_session_cache shared:SSL:40m;
ssl_session_timeout 4h;
ssl_session_tickets on;
location / {
add_header Cache-Control public;
add_header Pragma public;
add_header Vary Accept-Encoding;
expires 60M;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://myexternalserver.com:443;
}
}
如果我错过任何相关信息,我深表歉意。
谢谢!
解决方案
推荐阅读
- html - 我无法在我的投资组合网站中将导航栏设置为置顶。我能做些什么来纠正它?
- python - pymc-learn:JupterLab 1.2.6 中的 RuntimeError
- javascript - sound.stop() 不起作用,但 sound.play() 在 Howlerjs 中工作?
- angular - 等到 subscribe 以 Angular 调用
- keycloak - Keycloak SAML 集成中的无效目标错误
- c# - 将推送通知发送到指定标签,Azure 通知中心不起作用
- pine-script - Pinescript 中基于部分时间的交易退出
- ubuntu - 我无法在 WSL2 开启的 Windows 10 上使用 npm 命令(ubuntu 终端)
- linux - 我如何在 amazon Linux AMI 上找到我的 Linux 发行版?
- python - 将数据框列表中的每个数据框附加到另一个数据框列表中