wordpress-activitypub
wordpress-activitypub copied to clipboard
Having trouble from a subdomain
I've been fighting with this for days and have tried a ton of combinations of plugins without success. Currently I only have the ActivityPub plugin installed. When I try a WebFinger request I get:
21:25:50 Looking up WebFinger data for acct:[email protected] 21:25:50 GET https://blog.bluestarcreations.net/.well-known/webfinger?resource=acct%3Abluestarultor%40blog.bluestarcreations.net 21:25:51 Error getting JRD: 400 Bad Request
Same when I try my author page. It's weird because everything seems to know the site exists, but nothing can actually talk to it. When I search in Mastodon I get a simple "0 results" where searching for my base domain returns an error as it would for any missing domain.
I'm on an Apache server with AwardSpace and while I can't get this thing working, I think over time other plugins have worked somehow because I can see traffic spikes over the past few days. Darned if I know from WHAT, but it doesn't seem to be from this plugin. Also, installing the standalone WebFinger plugin gives a critical site error that ActivityPub can't talk to it. I feel like there's some permissions issue somewhere, but I'm not smart enough with *nix to figure out what.
I'm hoping that there's just something really simple I'm missing with configuration or some magic plugin I need to fix everything. Help a Windows user out?
I think there is something broken with your rewrite rule, if you call the endpoint directly, it seems to return the proper result: https://blog.bluestarcreations.net/wp-json/activitypub/1.0/webfinger?resource=acct%3Abluestarultor%40blog.bluestarcreations.net
Maybe regenerate the rewrite rules, by pressing the save button on the permalinks page.
I also tested your profile page, this seem to work properly.
This is all I have in my .htaccess after re-saving:
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Maybe try to install the WebFinger Plugin: https://wordpress.org/plugins/webfinger/
No change to the .htaccess file, even after re-saving my permalinks. Now I get a critical site issue:
WebFinger endpoint is not accessible | ActivityPub
Your WebFinger endpoint https://blog.bluestarcreations.net/.well-known/webfinger?resource=acct:[email protected] does not return valid JSON for application/jrd+json.
Do my links need to be a special format? I currently have it as just the post name just trying to get it working, but I was also hoping to do a custom one based on the category/post name. Is that supported?
No, the endpoint is working, but something seems to block the resource paramater at all, but only when using the .well-known URL.
This URL https://blog.bluestarcreations.net/.well-known/webfinger?resource=acct:[email protected] is a rewrite to that URL https://blog.bluestarcreations.net/wp-json/activitypub/1.0/webfinger?resource=acct%3Abluestarultor%40blog.bluestarcreations.net
I have no idea, why the first one does not forward the resource param.
Is there a rule I can manually enter for that? Or do you think it's a file or folder permissions issue? I can check to see if maybe Execute is disabled on the files if you think that might help.
@mediaformat do you have an idea?
@bluestarultor have you checked to see if a /.well-known/ folder exists on the server?
I tried creating one early on in troubleshooting, but deleted it after seeing that would cause issues in other threads here. There is not one on the server at this time.
@bluestarultor could you try to comment out this line in the .htaccess RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Sorry for the delay. I tried it and it didn't work. Worse yet, that gets restored any time I re-save my Permalinks.
Hey, sorry. Since I couldn't get this working I just went with a different extension that auto-posts to an account I otherwise wasn't using for much. I would have liked this to work instead, but I have a feeling my host is probably just blocking something and I'm just not equipped to figure out what if anything I can do to verify or get around it, but thank you for your efforts and for making this to begin with.
I don't suppose there's a way we can open this back up, can we? I still would prefer to get this working over using the auto-poster, if only because I'm getting a reminder of why I originally abandoned the server that's attached to.
I tried this out of desperation:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^\/\.well-known\/webfinger(.*) https:\/\/blog\.bluestarcreations\.net\/wp-json\/activitypub\/1\.0\/webfinger$1
</IfModule>
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
I'm currently sitting at this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^\/\.well-known.*$ \/profile\/myProfile.json
</IfModule>
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Is there any chance this is just because my Wordpress is on too high a version? It updated itself to 6.0, but even before that it was on an untested version. If that's the case, any idea what the timeline for 6.0 support looks like?
@bluestarultor My guess is that the shared hosting provider messed with the .well-known directory in the main config (which you are unable to edit) in order to support their https renewal infrastructure.
Unfortunately, you probably can't fix this without changing providers.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days.