Apacheとnginxを含むSSL

Apacheとnginxを含むSSL

私は静的ウェブサイトと電子メールサーバーのためにnginxを実行し、リモートdebian 10サーバーのnextcloudインスタンスのためにapache2を実行しています。

両方にSSLを使用したいです。私はapache2が443(sslの場合)ではなく8443ポートとhttpの場合は8080(80の代わりに)ポートをリッスンするように設定しました。

certbot私のアプリケーションは両方のサーバーで成功しました。

でも今行くとhttps://nextcloud.mydomain.com(Apacheがある場合)まだ「警告:潜在的なセキュリティリスクがある」というメッセージが表示されます。試験用このウェブサイト表示:nginxを使用して実行するサイトは有効な証明書を持つサイトです。 https プレフィックスが原因でブラウザが 8443 の代わりにポート 443 を要求しているようです。

この問題をどのように解決できますか?

関連文書の内容:

/etc/nginx/sites-available/mysite:

server {

    root /path/to/website;

    index index.html index.htm ;

    server_name mydomain.com www.mydomain.com ;

    location / {
        proxy_pass http://localhost:8080;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        try_files $uri $uri/ =404;
    }


    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = www.mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80 ;
    listen [::]:80 ;

    server_name mydomain.com www.mydomain.com ;
    return 404; # managed by Certbot
}

/etc/apache2/ports.conf:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 8080

<IfModule ssl_module>
    Listen 9000
</IfModule>

<IfModule mod_gnutls.c>
    Listen 8443
</IfModule>

<IfModule mod_ssl.c>
    Listen 8443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

上記のポートssl_moduleを9000に変更しました。すべて 8443 に設定するとエラーが発生したためです。

/etc/apache2/sites-available/000-default.confそしてスタート/etc/apache2/sites-available/nextcloud.conf

<VirtualHost *:8080>
[...]

/etc/apache2/sites-available/default-ssl.confそしてスタート/etc/apache2/sites-availble/nextcloud-le-ssl.conf

<IfModule mod_ssl.c>
    <VirtualHost *:8443>
[...]

4つのファイルすべてにシンボリックリンクがあります/etc/apache2/sites-enabled

ベストアンサー1

フォローするこのガイドむしろ問題解決に役立ちました。

おすすめ記事