我必须从 ngnix Web 服务器迁移到 apache Web 服务器。
将 ngnix 配置为 80 和 443 的代理服务器
ngnix 配置如下:
server {
listen 443;
server_name my_root_domain.com;
root /etc/nginx/html;
location / {
proxy_pass http://my_root_domain.com.us-east-1.amazonaws.com;
}
server {
listen 80;
server_name my_root_domain.com;
root /etc/nginx/html;
location / {
proxy_pass http://my_root_domain.com.us-east-1.amazonaws.com;
}
}
Apache httpd.conf 配置是否与上面的相同?
提前致谢
答案1
您的 nginx 配置看起来不对,因为虚拟主机看起来像 TLS(HTTPS) 站点,无需 SSL 指令。443 端口用于 HTTPS,而不是 HTTP。您需要 SSL 证书和私钥来创建 HTTPS 站点。您可以从以下位置免费获取一个启动SSL。
您将需要 mod_proxy、mod_proxy_http 和 mod_ssl。确保在 httpd.conf 中取消注释这些行
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule mod_ssl.so
虚拟主机配置如下
NameVirtualHost *:80
<VirtualHost *:80>
ServerName my_root_domain.com
<Location />
ProxyPassReverse / http://my_root_domain.com.us-east-1.amazonaws.com
</Location>
</VirtualHost>
<VirtualHost *:443>
ServerName my_root_domain.com
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /usr/local/apache/conf/ssl.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key
SSLCertificateChainFile /usr/local/apache/conf/sub.class1.server.ca.pem
<Location />
ProxyPassReverse / http://my_root_domain.com.us-east-1.amazonaws.com
</Location>
</VirtualHost>