Apache错误通过SNI提供的主机名myfirstweb.intweb.net与通过HTTP提供的主机名mysecondweb.intweb.net不同

时间:2018-11-09 23:26:14

标签: apache nginx

我有一台服务器,同一台服务器上有大约3个网站。

为了使事情变得更容易,我正在生成具有ansible的nginx配置文件以及apache配置文件,因此它更容易且更不易出错。而且,正如您将在下面看到的,我为所有这些端口使用相同的端口,因此这些apache和nginx配置文件上的唯一不同之处几乎是服务器名称,根目录位置,网站位置以及错误的位置日志将被放置。

我现在看到的问题是,我无法同时看到两个网站,当我在浏览器中打开第一个网站时,它可以正常打开,但是当我要打开第二个网站时,出现此错误:

您的浏览器发送了该服务器无法理解的请求。

当我看到apache日志时,看到以下错误:

[Fri Nov 09 16:17:51.247904 2018] [ssl:error] [pid 18614] AH02032:通过SNI提供的主机名myweb.intweb.net和通过HTTP提供的主机名mysecondweb.intweb.net不同

其中 mysecondweb.intweb.net 是我要查看的另一个网站。

这是我其中一个的nginx配置文件,您可以在其中看到我正在处理apache的请求:

# Force HTTP requests to HTTPS
server {
    listen 80;
    server_name myweb.intweb.net;
    return 301 https://myweb.intweb.net$request_uri;
}
  server {

      listen  443 ssl;
      root  /var/opt/httpd/ifdocs;

    server_name myweb.intweb.net ;

      # add Strict-Transport-Security to prevent man in the middle attacks
    add_header Strict-Transport-Security "max-age=31536000" always;
    ssl on;
    ssl_certificate     /etc/pki/tls/certs/star_intweb_net.pem;
    ssl_certificate_key /etc/pki/tls/certs/star_intweb_net.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

      access_log /var/log/nginx/iflogs/https/access.log;
    error_log  /var/log/nginx/iflogs/https/error.log;

    ###include rewrites/default.conf;


    index  index.php index.html index.htm;

    # Make nginx serve static files instead of Apache
    # NOTE this will cause issues with bandwidth accounting as files wont be logged
    location ~* \.(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|htm|html|js|css)$ {
        expires max;
    }

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;
                proxy_ssl_server_name on;
        proxy_ssl_name $host;
        proxy_pass https://127.0.0.1:4433;
         }

    # proxy the PHP scripts to Apache listening on <serverIP>:8080
    location ~ \.php$ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;
                proxy_ssl_server_name on;
        proxy_ssl_name $host;
        proxy_pass https://127.0.0.1:4433;
         }

    location ~ /\. {
        deny  all;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
  root  /usr/share/nginx/html;
    }
}

这是我在同一站点上的Apache配置:

 <VirtualHost *:4433>

  SSLEngine on
   SSLCertificateFile /etc/pki/tls/certs/star_intweb_net.crt
SSLCertificateKeyFile /etc/pki/tls/certs/star_intweb_net.key
SSLCertificateCcompanyFile /etc/pki/tls/certs/DigiCertCA.crt

ServerAdmin webmaster@company.com

DocumentRoot /var/opt/httpd/ifdocs

<Directory "/var/opt/httpd/ifdocs">
    Options FollowSymLinks
    AllowOverride All
      Require all granted
  </Directory>

ServerName myweb.intweb.net

ErrorLog /var/log/httpd/iflogs/http/error.log
CustomLog /var/log/httpd/iflogs/http/access.log combined

#    RewriteEngine on

#    Include rewrites/default.conf

</VirtualHost>

谢谢您的帮助!

0 个答案:

没有答案