我正在寻找一些如何做我目前想做的事情。
这是我想要做的: Nginx服务器代理(srvrp) - > Apache2(srvdeba)
这是nginx网站srvrp的配置:
server {
server_name www.egloff-j-quest-etna.nx;
location / {
proxy_pass http://srvdeba.egloff-j-quest-etna.nx;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $proxy_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
}
以下是启用srvdeba网站的配置:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.srvdeba.egloff-j-quest-etna.nx
ServerAlias *srvdeba.egloff-j-quest-etna.nx
DocumentRoot /opt/wordpress
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /opt/wordpress/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
目前,这是有效的,但不完全是,问题如下: 通过代理加载网站时,网站上的所有链接都在此表单上: http://srvdeba.egloff-j-quest-etna.nx 我希望它们对应于: www.egloff-J-追求-etna.nx
所以,我提出了2个解决方案,第一个是使用ngx_http_sub_module 第二个是配置apache2,因此他知道他正在被代理,并且可以在通过代理服务器完成请求时重写URL。 srvdeba在没有代理服务器的情况下访问时必须工作。 所以我需要你告诉我什么是最好的解决方案!
提前感谢您的回答。
答案 0 :(得分:0)
所以,很久以前我终于找到了这个问题的答案。 我认为我最好分享给你。
问题不是来自apache或nginx。 问题来自网站生成错误的网址,因为他不知道他正在被代理。 因此,如果您遇到类似问题,则应确保网站知道他正在被代理,并生成正确的URL以满足客户端请求。