On 9/26/2025 6:03 AM, Frank Gingras wrote:


On Fri, Sep 26, 2025 at 2:57 AM Bret Stern <[email protected]> wrote:


    On 9/25/2025 2:10 PM, Frank Gingras wrote:


    On Thu, Sep 25, 2025 at 3:14 AM Bret Stern
    <[email protected]> wrote:


        Like this?: (on the backend apache host)


        Edited loaded module:
        vi /etc/httpd/conf.modules.d/00-base.conf


        Commented out
        #LoadModule access_compat_module modules/mod_access_compat.so



        Modified Virtual:

        <VirtualHost *:80>

          ServerName postfixadmin.sevendogzero.com
        <http://postfixadmin.sevendogzero.com>
          DocumentRoot /var/www/postfixadmin/public/

          ErrorLog /var/log/httpd/postfixadmin_error.log
          CustomLog /var/log/httpd/postfixadmin_access.log combined

          <Directory />
            Options FollowSymLinks
            AllowOverride All
          </Directory>

          <Directory /var/www/postfixadmin/public/>
            Options FollowSymLinks MultiViews
            AllowOverride All
          #  Order allow,deny
          #  allow from all
          </Directory>

        </VirtualHost>

        Then
        sudo systemctl restart httpd


        Next step:

        Will read this.
        https://cwiki.apache.org/confluence/display/HTTPD/PHP-FPM

        Appreciate the direction










        On 9/24/2025 8:22 PM, Frank Gingras wrote:


        On Wed, Sep 24, 2025 at 9:17 PM Bret Stern
        <[email protected]> wrote:

            Couple things..I appear to be top posting. What is the
            preferred conversation rule. I use Thunderbird. Way back
            in the day, I seem to recall a setting

            which played to the bottom posting preference.



            On the conversation here. I've set a reverse proxy on my
            gateway apache server pointing to the backend apache
            server, which is running

            mail services. (It doesn't have to be that way, I'm just
            trying to keep server counts down.)


            On the backend apache server here is an example of my
            Virthost. However I think the following line should be
            "localhost"

            current -> ServerName postfixadmin.domain.com
            <http://postfixadmin.domain.com>

            replace with something like ->

            *ProxyPass* /sample http://localhost:8080/sample
            *ProxyPassReverse* /sample http://localhost:8080/sample


            <VirtualHost *:80>

              ServerName postfixadmin.domain.com
            <http://postfixadmin.domain.com>
              DocumentRoot /var/www/postfixadmin/public/

              ErrorLog /var/log/httpd/postfixadmin_error.log
              CustomLog /var/log/httpd/postfixadmin_access.log combined

              <Directory />
                Options FollowSymLinks
                AllowOverride All
              </Directory>

              <Directory /var/www/postfixadmin/public/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
              </Directory>

            </VirtualHost>


            I just don't think I get this yet, but very close. I
            have three reverse proxy conf that are working for websites.


            But this one simply says "File not found". The logs say

            error_log
            [Tue Sep 23 23:24:19.181827 2025] [proxy_fcgi:error]
            [pid 46973:tid 47081] [client 192.168.60.167:47784
            <http://192.168.60.167:47784>] AH01071: Got error
            'Primary script unknown'


            access_log
            192.168.60.167 - - [23/Sep/2025:23:24:19 -0700] "GET
            /setup.php HTTP/1.1" 404 16 "-" "Mozilla/5.0 (Windows NT
            10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0"

            Thanks for any help

            Bret



            On 9/20/2025 1:39 PM, Frank Gingras wrote:


            On Sat, Sep 20, 2025 at 3:46 PM Bret Stern
            <[email protected]> wrote:

                Ok. Is there a recommended place for the TLS, or
                either one is fine. Just confiming.

                Sounds like I'll need to remove a cert on one of
                the servers thinking..Yes/No

                Thanks Frank.

                On 9/20/2025 12:38 PM, Frank Gingras wrote:


                On Sat, Sep 20, 2025 at 3:12 PM Bret Stern
                <[email protected]> wrote:

                    Hi there,

                    I'm setting up and email server which is
                    reverse proxyied behind a front
                    end apache server.


                    For the same domain...my dns has both a
                    primary web server server, and
                    an email server sitting behind a single wan ip.

                    First question.

                    Is this possible?

                    At this point all email is working except
                    smtp, which I'm thinking is a
                    certificate problem.


                    So I have certicates on the email server
                    apache and the apache server
                    providing the reverse proxy.

                    And of course Postfix and Dovecot could have
                    config issues, but mostly
                    here I'm looking for verifying my described
                    concept is

                    achievable using apache.


                    Comments or links to feasability and tips are
                    always appreciated.

                    Thanks,

                    Bret



                    
---------------------------------------------------------------------
                    To unsubscribe, e-mail:
                    [email protected]
                    For additional commands, e-mail:
                    [email protected]


                Email and HTTP server had nothing to do with each
                other, practically.  A reverse HTTP proxy can be
                used to host a webmail interface to handle those
                emails, sure, but then just handle the TLS
                termination either on the edge, or the inner server.

                For the latter, just use SSLProxyEngine on.


            It depends on what the backend interface requires - if
            it redirects to https:// automatically, then you'll
            need to offload TLS to the proxied server with
            SSLProxyEngine on.

            Otherwise, you can handle the TLS handshake on the edge
            server and speak non-TLS to the inner servers.

        First, stop using the Allow/Deny/Order directives, and
        unload the mod_access_compat module.

        Secondly, Primary script unknown is the error caused by
        pointing the URI to a non-existent resource running on
        php-fpm.  Take a look at
        https://cwiki.apache.org/confluence/display/HTTPD/PHP-FPM

        In short, if you request /foo a and you use DirectoryIndex
        index.php, the request will be converted to /foo/index.php,
        which in turn will be proxied to php-fpm, and that resource
        *must* existing on the file system, based on the docroot set
        in your fpm pool.








    You need to replace the 2.2 authz directives with Require, too. 
    Also, avoid using .htaccess files by setting AllowOverride none.


    I believe you mean in this declaration. The docs call this an
    authorization container. Not going to pretend I know the syntax.
    Is this close?

    So whatever the <Require> directive is, the arguments within the
    <Require(parameter)> must meet the parameter directive.. am I
    getting it sort of?

      <Directory /var/www/postfixadmin/public/>
       <Require> <-------------------------------do I need an option
    here...I would think 'all'   can you give me a hint?

        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
      </Require>
     </Directory>



Ok. I think I got it.

As long as I have the [mod_authz_core] enabled, I can build access logic with the |<RequireAll> <https://httpd.apache.org/docs/current/mod/mod_authz_core.html#requireall>|, |<RequireAny> <https://httpd.apache.org/docs/current/mod/mod_authz_core.html#requireany>| and |<RequireNone> <https://httpd.apache.org/docs/current/mod/mod_authz_core.html#requirenone>
|

|tags with Require statement and arguments. Eg;
|

<RequireAll>(this means all the Require between beginning and ending RequireAll statements below must be met to allow access Requiregroup admins (this referes to users on the hosting system?) Requireldap-group "cn=Administrators,o=Airius" (this can refers to LDAP dictionaries of users)
</RequireAll>


Pretty cool if I correctly understand it.

|I've never spent much time in the apache world, so now I'm beginning to understand. I will keep reading and play with the options.|

|
|
















There are good examples in the docs:

http://httpd.apache.org/docs/current/mod/mod_authz_core.html#require

Look at the first use case.

Reply via email to